浏览器盒子模型——CSS基础篇

html-css05

浏览器盒子模型——CSS基础篇,第1张

浏览器盒子模型

一般来说有两种:IE版和标准W3C版

IE版和W3C版主要差别在于IE把border和padding都算进width中,而W3C版的则是width只包括content

默认浏览器会使用标准模型。如果需要使用替代模型,您可以通过为其设置box-sizing: border-box来实现。 这样就可以告诉浏览器使用border-box来定义区域,从而设定您想要的大小。

.box{

    box-sizing:border-box

}

如果你希望所有元素都使用替代模式,而且确实很常用,设置box-sizing在<html>元素上,然后设置所有元素继承该属性,正如下面的例子。如果想要深入理解,请看 the CSS Tricks article on box-sizing 。

html{

    box-sizing:border-box

}

*, *::before, *::after{

    box-sizing:inherit

}

1.平面图

2.立体图

3.margin 外边距

元素周围生成额外的空白区。“空白区”通常是指其他元素不能出现且父元素背景可见的区域。——CSS权威指南

4. padding 内边距(补白)

称呼为内边距,其判断的依据即边框离内容正文的距离,而我喜欢CSS权威指南解释的“补白”(或者叫“留白”),因为他很形象。补白(padding):补白位于元素框的边界与内容区之间。很自然,用于影响这个区域的属性是padding。——CSS权威指南

padding的用法 大体上来说,与margin略有不同,但是在距离设定上一致,此处不再叙述。

5.margin和padding的使用区别

margin和padding在许多地方往往效果都是一模一样,而且你也不能说这个一定得用margin那个一定要用padding,因为实际的效果都一样,你说margin用起来好他说padding用起来会更好,但往往争论无果。根据网上的总结归纳大致发现这几条还是比较靠谱的:

何时应当使用margin:

需要在border外侧添加空白时。空白处不需要背景(色)时。上下相连的 两个盒子之间的空白,需要相 互抵消时。

如15px+20px的margin,将得到20px的空白。

何时应当时用padding :

需要在border内测添加空白时。空白处需要背景(色)时。上下相连的两个盒子之间的空白,希望等于两者之和时。

如15px + 20px的padding,将得到35px的空白。

个人认为 :

margin是用来隔开元素与元素的间距;padding是用来隔开元素与内容的间隔。margin用于布局分开元素使元素与元素互不相干;padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元素之间有一段“呼吸距离”。