欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  content-box 和?border-box 描述的太抽象了,这样更不好理解。
 
  直观通俗的解释是:
 
  content-box:指定盒模型为 W3C 标准模型,设置 border、padding 会增加元素 width与 height 的尺寸,即 border 与 padding 相当于是元素的“殖民地”,元素的“土地”、尺寸会增加,为向外延伸。
 
  border-box:指定盒模型为 IE模型(怪异模式),设置 border、padding 不会影响元素 width 与 height 的尺寸,即 border 与 padding 由元素已设空间转变。即空间还是这个空间,只是将部分空余的地方,转变成了其他空间用法而已,为内部转变。
 
  设置border与padding与被影响属性值的关系公式:
 
  W3C标准盒模型(conten-box值)【width/height被改变,扩展】
 
  width = content + border + padding;
 
  // 其中,width 为浏览器视窗呈现尺寸,content 为在CSS中设置的元素的 width;
 
  IE怪异盒模型(border-box值)【content被改变,压缩】
 
  content = width - border - padding;
 
  // 其中,width 为在CSS中设置的元素的width;
 
  具体可用浏览器调试看看,多观察观察就懂了。
 
  总之:
 
  1.W3C标准盒模型(content-box),border、padding 的设置会破坏元素宽高,必须得重新计算,非常麻烦(除了在IE浏览器,默认就是标准盒模型,所以可以用 box-sizing 来转换);
 
  2.IE(怪异)盒模型(border-box),border、padding 的设置不会影响元素的宽高,这非常实用(且因为IE盒模型不是标准,所以才有 box-sizing 这个标准属性来设置,将它标准化)【IE6/5 是怪异模型,IE7开始是标准盒模型】
 
  另外的小技巧:【行高的计算】
 
  .box {
 
  width: 200px;
 
  height: 200px;
 
  text-align: center;
 
  border: 10px solid black;
 
  padding: 15px;
 
  }
 
  .box {
 
  width: 200px;
 
  height: 200px;
 
  text-align: center;
 
  border: 10px solid black;
 
  padding: 15px;
 
  box-sizing: border-box;
 
  }

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62515.shtml