CSS盒子模型

来源:互联网 发布:asp域名授权码程序dll 编辑:程序博客网 时间:2024/06/04 19:09


    今天来给大家详细剖析一下盒子模型。

 

    盒子的构成:内容(content)、填充(padding)、边框(border)、边界(margin)。

    盒子模型既然说是盒子模型,那么可以猜到这个模型来源于生活中的盒子。

   假设你想送别人一个水晶娃娃。那么你肯定会把娃娃精美的包装起来,又因为娃娃是水晶的,很怕摔坏,所以在包装的时候就要在里面添加一些防震的东西,向泡沫,或者布条啦。

    如果把整个包装好的礼物用盒子模型来解释的话:

    内容:就是水晶娃娃。

    Padding:里面填充的防震东西。

    Border:就是整个的盒子了,盒子有厚度属性。

    Margin:假设别人,也送了一个盒子礼物,主人将两个礼物放在一起,一个礼物与另外一个礼物之间的距离,就用 Margin描述。




盒子模型有了两种:IE盒子模型和标准盒子模型



区别就在于设置一个块级元素时的widthheight属性从图中可以看出来。


     那么有两个盒子模型,我们用那个啊?当然是使用标准的盒子模型了---------标准 W3C 盒子模型

     如何使用那?就是在网页的顶部加上 DOCTYPE 声明。如果不加 DOCTYPE声明,那么各个浏览器会根据自己的行为去理解网页,即 IE 浏览器会采用 IE 盒子模型去解释你的盒子,而 FF 会采用标准 W3C盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。反之,如果加上了 DOCTYPE 声明,那么所有浏览器都会采用标准 W3C盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。



在网页设计中

每个HTML属性都可以看做一个盒子。

内填充与边界的规则:

如果有四个参数:表示上右下左,也可以单单指定某个方向

如果只有一个参数:表示上右下左

如果有两个参数: 第一个参数表示上下 第二个参数表示左右

如果三个参数:表示上 左右 下

举个例子:


对于盒子嵌套盒子的问题,内部的盒子是以外部盒子的Content为标准的,从content的地方开始算内部盒子的margin.



如果在嵌套盒子里一个自盒子Floatright。那么这个盒子没有脱离父盒子的控制。

DIV没有浮动之前的父DIV的content


这个是子DIV左右浮动之后


Float1,2margin是从父DIV输入father之后的下边线为基准的。但是这时候父DIV只是给他们一个基准,当其左右浮动之后的content已不再包含他们。

对于并排的盒子是从两个盒子的margin开始计算的


下一篇接着讲解


0 0