css3 盒模型以及box-sizing属性全面了解

看,田野里的玉米露出了笑脸,秋风吹过,闪烁着太阳的光芒,秋天是金色的。看满山的枫叶,红得就像一团火焰在熊熊燃烧,散发着生机,秋天是红色的。呵呵,我们都错了,秋天不是金黄的,也不是红色的,秋天是五颜六色的。

文档中的每个元素被描绘为矩形盒子。渲染引擎的目的就是判定大小,属性——比如它的颜色、背景、边框方面——及这些盒子的位置。在CSS中,这些矩形盒子用标准盒模型来描述。这个模型描述了一个元素所占用的空间。每一个盒子有四条边界:外边距边界margin, 边框边界border, 内边距边界padding与内容边界content。

在W3C模型中: 总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

在IE模型中: 总宽度 = margin-left + width + margin-right

在CSS3中引入了box-sizing属性, 它可以允许改变默认的CSS盒模型对元素宽高的计算方式.

共包括两个选项:

content-box:标准盒模型,CSS定义的宽高只包含content的宽高。(默认)

border-box:IE盒模型,CSS定义的宽高包括了content,padding和border

实例:

(con1设置为box-sizing:border-box,con为默认的content-box)

XML/HTML Code复制内容到剪贴板
  1. <headlang="en">
  2. <metacharset="UTF-8">
  3. <title></title>
  4. <style>
  5. .con{width:100px;height:100px;background-color:royalblue;
  6. border:1pxsolidred;padding:10px;}
  7. .con1{box-sizing:border-box;}
  8. </style>
  9. </head>
  10. <body>
  11. <divclass="con"></div>
  12. <divclass="concon1"></div>
  13. </body>

在控制台可以一目了然的看出两个盒子的区别

第一个div的盒子模型如下:content-box

第二个div的盒子模型如下:border-box

以上就是小编为大家带来的css3 盒模型以及box-sizing属性全面了解的全部内容了,希望对大家有所帮助,多多支持~

标签: box sizing