元素水平居中

行内元素(被设置为文本、图片等行内元素)居中,在父元素中设置text-align:center.

当被设置元素为块状元素时,用text-align就不起作用了。定宽块状元素;块状元素的宽度width为固定值。满足定宽和块状两个条件的元素是可以通过设置左右margin值为auto来实现居中。margin:20px auto; 注意一定要定宽,不然元素默认填满整个页面,居中效果是显示不出来的。

不定宽块状元素居中方法

不定宽块状元素:块状元素的宽度width不固定。

方法1:加入table标签。利用table标签的长度自适应性-即不定义其长度也不默认父元素body的长度(table其长度根据其内文本长度决定),因此可以看做一个定宽度块元素,然后再利用定宽度块状居中的margin方法,使其水平居中。

第一步:为需要设置的居中的元素外面加入一个table标签(包括<tbody><tr><td>)
第二步:为这个table设置“左右margin居中”
table{border:1px solid; margin:0 auto;}

方法2:改变块级元素的display为inline类型(设置为行内元素显示),然后使用text-align:center来实现居中效果。

这种方法相比第一种方法的优势是不用增加无语义标签,但也存在着一些问题,它将块状元素的display类型改为inline,变成了行内元素,所以就少了一些功能,比如设定长度值。

Written on December 14, 2016