1. margin : 0 auto表示啥?
表示上下外边距为0,左右外边距自适应。
也可以拆分为:margin : 0 auto 0 auto;(上 右 下 左)。
单独写的话,可以拆分成:margin-top:0;margin-right:auto;margin-bottom:0;margin-left:auto;
2.margin:0 auto的作用是啥?
一般是用在外层div上的属性。为了让div在浏览器中水平居中,所以设置了margin:0 auto;
3.为啥要设置margin:0 auto?
写CSS最大的敌人就是浏览器兼容啦。如果不设置margin:0 auto;那可能会出现这样的情况:在某些浏览器中,div会居中显示,然而在另一些浏览器中会靠左显示了。所以设置margin:0 auto;最主要的目的其实就是兼容各大浏览器让布局居中!
4.为啥设置了margin:0 auto;却没有水平居中呐?
有几个原因,这里我们假设操作的目标的body的直接子元素div,即最外层的div,然后再div内部有一个p标签。那么有以下几种情况:(注意了,前提是我们已经对div设置了margin:0 auto;)
- div水平居中,但p元素内容在div中靠左。解决办法:在body中设置text-align:center;
- body中设置了float属性
- body中设置了position:absolute属性
5.外层div水平居中的条件?
为了更好的兼容浏览器的差异性,需要做到以下几步:
- 不使用float(包括left,right)
- 不使用position绝对定位(包括fixed,absolute)
- 对body设置文字水平居中text-align:center;
- 对最外层div设置margin:0 auto;
- 确认HTML文档首部加上<!DOCTYPE html>