一、盒子模型布局稳定性
开始学习盒子模型,最大的困惑就是, 分不清内外边距的使用,什么情况下使用内边距?什么情况下使用外边距?
答案是: 其实他们大部分情况下是可以混用的。 就是说,你用内边距也可以,用外边距也可以。 你觉得哪个方便,就用哪个。
但是,总有一个最好用的吧,我们根据稳定性来分,建议如下:
按照 优先使用 宽度 (width
) 其次 使用内边距(padding
) 再次 外边距(margin
)。
width > padding > margin
原因:
-
margin
会有外边距合并 还有 ie6下面margin
加倍的bug(讨厌)所以最后使用。 -
padding
会影响盒子大小, 需要进行加减计算(麻烦) 其次使用。 -
width
没有问题(嗨皮)我们经常使用宽度剩余法 高度剩余法来做。
二、CSS3盒模型
CSS3中可以通过box-sizing 来指定盒模型,即可指定为content-box、border-box,这样我们计算盒子大小的方式就发生了改变。
可以分成两种情况:
1、box-sizing: content-box
盒子大小为 width + padding + border content-box
:此值为其默认值,其让元素维持W3C的标准Box Mode
2、box-sizing: border-box
盒子大小为 width
就是说 padding
和 border
是包含到width
里面的
注:上面的标注的width指的是CSS属性里设置的width
: length
,content
的值是会自动调整的。