企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## **只有一个子元素时水平居中:margin:0 auto;** 在**知道父容器的宽度**的时候我们可以根据`margin:0 auto;`来进行水平居中 在父容器宽度不知道的情况下:那么光是margin:0 auto是不管用的   那么我们子元素可以设置 display:table;margin:0 auto;并且父容器需要overflow:hidden;来进行水平居中     (表格具有关联收缩、垂直居中等特性) >[danger]但是设置了display:table;后他们的宽度和高度会会失效  (ie\*-无效) ## **内联元素(行内元素)水平居中** 第二种办法:外层使用text-align:center;我们知道text-align: center是让里面的内联元素居中,很显然在外层设置text-align:center后,我们让里面的元素变成内联元素即可,则可以对里面元素使用display:inline-block;\*display:inline(兼容IE6-7) >[danger]总结: 外层元素{text-align:center;} 内层元素div{display:inline-block;text-align:left;} ## [**传统布局**](https://www.kancloud.cn/a173512/qianduan/2016098) ## **还有一种水品居中:不推荐** 外层设置相对定位且浮动,left:50%,这样左边位置就偏移到了中间的位置;然后内层设置相对定位,left:-50%,这样正好向左偏移自身宽度的一半,实现了居中。 内容居中但是容器没居中啊,不能设置背景颜色 ``` <div class="wrap">   <div class="inner">html:让inner居中</div> </div> .wrap{float:left;/*自适应内容宽度*/position:relative;left:50%;} .inner{position:relative;left:-50%;} ``` ![](https://img.kancloud.cn/93/a1/93a16c20bdb97023549b5f708c9f0e09_343x88.png)