CSS常用居中方式
本文主要总结在开发中用得比较多的几种居中方式,方便使用。
水平居中
内联元素水平居中
利用 text-align: center
可以实现在块级元素内部的内联元素水平居中。此方法对内联元素(inline
),内联块(inline-block
),内联表(inline-table
),inline-flex
元素水平居中都有效。
1 | .center-text { |
块级元素水平居中
通过把固定宽度块级元素的margin-left
和margin-right
设成auto,就可以使块级元素水平居中。
1 | .center-block { |
多块级元素水平居中
利用inline-block
如果一行中有两个或两个以上的块级元素,通过设置块级元素的显示类型为inline-block
和父容器的text-align
属性从而使多块级元素水平居中。
1 | .container { |
利用flex
布局
利用弹性布局(flex
),实现水平居中,其中justify-content
用于设置弹性盒子元素在主轴(横轴)方向上的对齐方式,本例中设置子元素水平居中显示。
1 | .flex-center { |
垂直居中
单行内联(inline-
)元素垂直居中
通过设置内联元素的高度(height
)和行高(line-height
)相等,从而使元素垂直居中。
1 | #v-box { |
多行元素垂直居中
利用 flex
布局
利用 flex
布局实现垂直居中,其中flex-direction: column
定义主轴方向为纵向。因为
flex 布局是 CSS3 中定义,在较老的浏览器存在兼容性问题。
1 | .center-flex { |
利用表布局(table
)
利用表布局的vertical-align: middle
可以实现子元素的垂直居中。
1 | .center-table { |
水平垂直居中
利用 flex
布局
利用flex布局,其中justify-content
用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式;而align-items
属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。
1 | .parent { |