css实现水平居中的几种方式

作者 : 开心源码 本文共1391个字,预计阅读时间需要4分钟 发布时间: 2022-05-11 共73人阅读

一、对于行内元素:

text-align:center;

二、对于确定宽度的块级元素:

(1)margin和width实现水平居中

常使用(前提:已设置width值):margin-left:auto; margin-right:auto;

css实现水平居中的几种方式

(2)绝对定位和margin-left: -(宽度值/2)实现水平居中

固定宽度块级元素水平居中,通过用绝对定位,以及设置元素margin-left为其宽度的一半

.content{

width: 200px;

position: absolute;

left: 50%;

margin-left: -100px; // 该元素宽度的一半,即100px

background-color: aqua;

}

(3)position:absolute + (left=0+top=0+right=0+bottom=0) + margin:auto

.content{

position: absolute;

width: 200px;

top: 0;

right: 0;

bottom: 0;

left: 0;

margin: auto;

}

css实现水平居中的几种方式

三、对于未知宽度的块级元素:

(1)table标签配合margin左右auto实现水平居中

table标签(或者直接将块级元素设值为display:table),再通过给该标签增加左右margin为auto

(2)inline-block实现水平居中方法

display:inline-block;(或者display:inline)和text-align:center;实现水平居中

存在问题:需额外解决inline-block的浏览器兼容性(处理inline-block元素的空白间距)

(3)绝对定位实现水平居中

·绝对定位+transform,translateX能移动本省元素的50%

.content{

position: absolute;

left: 50%;

transform: translateX(-50%); /* 移动元素本身50% */

background: aqua;

}

(4)相对定位实现水平居中

·使用float或者者display把父元素变成行内块状元素

.contentParent{

display: inline-block; /* 把父元素转化为行内块状元素 */

/*float: left; 把父元素转化为行内块状元素 */

position: relative;

left: 50%;

}

/*目标元素*/

.content{

position: relative;

right: 50%;

background-color:aqua;

}

(5)浮动实现水平居中的方法

.contentParent{

float: left;

position: relative;

left: 50%;

}

/*目标元素*/

.content{

position: relative;

right: 50%;

background-color:aqua;

}

css实现水平居中的几种方式

(6)CSS3的flex实现水平居中方法

.contentParent{

display: flex;

flex-direction: column;

}

.content{

align-self:center;

}

(7)CSS3的fit-content配合左右margin为auto实现水平居中方法

.content{

width: fit-content;

margin-left: auto;

margin-right: auto;

}

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » css实现水平居中的几种方式

发表回复