CSS实现居中对齐

Part1 水平居中的方案:

  • 1.行内元素,可以设置text-align属性
text-align:center;
  • 2.固定宽度块状元素,可以设置左右margin值为auto来使用
margin:0 auto;
  • 3.不定宽度块状元素
a:在元素外加入 table 标签(完整的,包括 tabletbodytrtd),该元素写在 td 内,然后设置 margin 的值为 auto
b:给该元素设置 displa:inine 方法
c:父元素设置 position:relativeleft:50%,子元素设置 position:relativeleft: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居中

参考:http://www.2cto.com/kf/201404/289773.html

你可能感兴趣的:(web前端开发)