Part1 水平居中的方案:
- 1.行内元素,可以设置text-align属性
text-align:center;
- 2.固定宽度块状元素,可以设置左右margin值为auto来使用
margin:0 auto;
- 3.不定宽度块状元素
a:在元素外加入 table 标签(完整的,包括 table、tbody、tr、td),该元素写在 td 内,然后设置 margin 的值为 auto
b:给该元素设置 displa:inine 方法
c:父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:50%
Part2 垂直居中的方案:
- 1.让line-height和height等高实现单行文本垂直居中;
.css文件
.outerBox{
width:200px;
height:100px;
border: 1px solid #000;
text-align:center; /* 水平居中 */
line-height: 100px; /* line-height=height */
}
.html文件
<div class="outerBox">
center text
</div>
- 2.vertical-align实现文本的垂直居中
可以使用vertical-align实现垂直居中,不过vertical-align仅适用于内联元素和table-cell元素,因此之前需要转化
.outerBox{
width:200px;
height:100px;
border: 1px solid #000;
text-align:center; /* 水平居中 */
display:table-cell; /*转化成table-cell元素*/
vertical-align:middle;
/*垂直居中对齐,vertical-align适用于内联及table-cell元素*/
}
总结
1.实现文本居中的方案:
用text-align:center;可以实现文字水平居中;
line-height与height等高实现单行文本垂直居中;
vertical-align实现文本的垂直居中;
2.div居中实现:
margin:auto实现水平居中
text-align:center实现水平居中
table-cell元素居中
绝对定位居中,margin偏移
绝对定位居中,利用transform偏移
绝对定位居中,利用margin:auto偏移
Flexbox居中