水平居中
1、行内或类行内元素
在块级父容器中让行内元素居中,只需使用 text-align: center;
.text-center {
text-align: center !important;
}
这种方法可以让 inline/inline-block/inline-table/inline/flex 等类型的元素实现居中。
2、固定宽度块级元素
可以设置左右margin值为auto来使用,如下:
.item-center {
width: 400px;
margin: auto;
}
3、不定宽度块状元素
1、元素外加入 table 标签(完整的,包括 table、tbody、tr、td),该元素写在 td 内,然后设置 margin 的值为 auto
2、给该元素设置 display:inine,转变为内联元素
3、父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:50%
垂直居中
1、内联元素(单行)
为它们添加等值的 padding-top 和 padding-bottom
padding-top: 30px;
padding-bottom: 30px;
设置line-height的值等于height值
height: 100px;
line-height:100px;
2、内联元素(多行)
可以使用vertical-align实现垂直居中,不过vertical-align仅适用于内联元素和table-cell元素,因此之前需要转化。
display:table-cell; /*转化成table-cell元素*/
width:200px;
height:100px;
vertical-align:middle;
此外,还可以使用flexbox实现垂直居中。
display: flex;
justify-content: center;
flex-direction: column;
height: 400px;
3、块级元素
不常用,可参见居中指南(https://www.w3cplus.com/css/centering-css-complete-guide.html)