盒模型要点知识
box-sizing
盒模型的主要CSS属性,除继承外有两个值:
content-box
content-box将一个标签元素所占的 物理像素区域 的计算方法表达为:宽高 + 内边距 + 边框 + 外边距
- border-box
border-box将一个标签元素所占的 物理像素区域 的计算方法表达为:宽高、内边距、边框的最大值 + 外边距
这里说的宽高就是CSS属性的width与height,或者是子标签所撑起来的大小。
下面介绍其他三个相关属性
- 内边距(padding)
首先,你想想一个立方体包装盒,其内部有一个小一点的盒子,那么里面盒子与外面这个盒子相隔的区域就是内边距,换做HTML标签具象化如下:
其中红色区域就是内边距
- 边框(border)
边框就是字面意思,其HTML具象化如下:
其中黑色就是边框
外边距(margin)
外边距就是标签间的间距或便签与父标签边线的距离。 严格来说与标签大小无关,但是影响视觉上的位置。HTML具象化需调试指出,如下:
其中的最外圈的黄色区域就是margin了。
如果你确实明白了上述概念后,有如下图示与解说,详细说了具体的标签大小计算方式,这里注意,标签大小是指 物理像素大小,而不是上文说的 物理像素区域。
小建议
强烈推荐使用border-box来在实际中使用,实际工作或项目中,定制好padding与border后再去修改这两个值的可能性远远低于不改的可能性,所以能用border-box就用border-box吧,* {box-sizing: border-box;}
可能是个好习惯。
否则UI丢你个80*80像素大小的样式,你自己就去拆分吧。