这个问题我之前就很疑惑了,元素的位置无法顶到网页的角落里,总是会差一点位置,就是因为标签元素本身自带有内外边距,所以我们要做的就是清除他们默认的内外边距。
所以这也是我们看到很多网站的第一句CSS代码都会去清除所有元素自带的内外边距,就是为了更好的去做布局。
而且不仅是,包括的所有后代和前代最好都清除内外边距,下图是米哈游官网的部分代码:
可以看到,不仅做了清楚,伪类before和after都做了清除,也是为了更彻底的清除,方便自己做布局。
并且可以看到,这里还设置了 *box-sizing 属性:
补充说明box-sizing属性
content-box: padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding之和,即padding和border会影响盒子的实际大小。
此属性表现为标准模式下的盒模型。
border-box: padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即padding和border不会改变盒子的实际大小,但是会改变width和height的大小,一般会缩小。
此属性表现为怪异模式下的盒模型。
可以看到上例中设置border-box类型,也是为了更方便的布局盒子,因为这样内边距和边框就不会影响盒子的实际大小了。卧槽牛逼,不愧是米哈游!