首页 > 代码库 > 水平居中的几种方法

水平居中的几种方法

一、inline-block、text-align:center

特点:适应性好,IE6、IE7不兼容inline-block。text-align:center会导致子元素的内容也居中。

<div class="parent">    <div class="child">DEMO</div></div>
<style>    .parent{        text-align: center;    }    .child{        display: inline-block;/*宽度跟内容变化*/    }</style>

 二、table+margin

特点:只需要对子元素设置,IE6、IE7不支持table,

<style type="text/css">    .child{        display: table;/*宽度跟内容变化*/
 margin: 0 auto; } </style>

三、absolute+transform

特点:子元素不会影响其他元素,transform是CSS3内容,不兼容IE6、IE7、IE8。

<style type="text/css">    .parent{        position: relative;    }    .child{        position: absolute;        left: 50%;        transform: translateX(-50%);/*向左移自身宽度一半*/    }</style>

四、flex+justify-content

特点:只对父容器设置,是CSS3内容,不兼容IE6、IE7、IE8。

<style type="text/css"> .parent{        display: flex;        justify-content: center;/*设置了这个就用用设置子元素margin: 0 auto*/
 }
.child{ margin: 0 auto;/*如果不用justify-content: center,可以用这个*/ }

</style>

 

水平居中的几种方法