【css】居中方案

html-css012

【css】居中方案,第1张

前言:根据最近学习的课程,简单总结一下学习到的css左右布局以及居中方案。后期学习深入之后再回来进行css居中的完整总结。

给所有子元素添加 float: left ,给父元素加 clearfix 类,清除浮动

html:

css:

将内联元素外部的块级元素的 text-align 设置为 center ,即可实现内联元素( inline 、 inline-block )的水平居中。

演示

将固定宽度的块级元素的 margin-left 和 margin-right 设置为 auto ,即可实现块级元素的水平居中。

演示

将每个块级元素的 display 设置为 inline-block ,然后将它们的父容器的 text-align 设置为 center ,即可使多个块级元素水平居中。

演示

设置内联元素的行高( line-heigt )和内联元素的父元素的高度( height )相等,且内联元素的字体大小远小于行高,即可使内联元素垂直居中。

演示

通过绝对定位元素距离顶部50%,并设置margin-top向上偏移元素高度的一半,即可实现垂直居中。

演示

借助CSS3中的transform属性向Y轴反向偏移50%的方法实现垂直居中

演示

设置行高的属性: line-height

比如一段文本:

这里绿色框之间的距离,为行间距, 行间距 = 行高 - 字体大小

我们利用行高,还可以做单行文字在父元素中居中的效果,这里只需要讲行高的高度设置为跟父元素高度一样大小即可。但是这里需要注意的是,这里只对当行文本有效果,多行文本不行。

test.css

test.html

注意

设置行高时,有一个地方需要注意,当line-height属性与font属性合用时,要使line-height设置的高度生效,line-height的声明位置要在font之后。因为font有默认的行高,比如 {font: 10px/100px, "微软雅黑"} 。如果line-height在font之前就声明了,那么在font中会覆盖line-height的值。

test.css

修改后的test.css

当然,也可以直接这样: