CSS盒模型

标准CSS盒模型规定width和height样式属于给定内容区域的尺寸,并且不包含boder和padding,可以称此盒子为“内容盒模型"。在老版的IE里和新版的CSS中都有一些例外,在IE6之前和IE6~8“怪异模式”下显示一个页面时(页面中缺少<IDOCTYPE>或有一个不够严格的doctype时),width和height属性确是包含boder和padding的。

IE的行为是一个bug,但是IE的非标准盒模型通常也很有用。所以CSS3引进了box-sizing属性,默认值是content-box,它指定了上面描述的标准的盒模型。如果替换为box-sizing:border-box,浏览器将会为那个元素应用IE的盒模型,即width和height属性将包括border和padding,当想以百分比形式为元素是指总体尺寸,又想以像素单位指定border和padding时,边框盒模型特别有用

div {
  box-sizing: border-box;
  width: 50%
  padding: 10px;
  border: solid black 2px;
}

box-sizing属性再当今所有浏览器中都支持,但是还没有不带前缀通用的实现。再Chrome和Safari中,使用-webkit-box-sizing.在Firefox中,使用-moz-box-sizing.在Opera和IE8及其更高的版本中,可以使用不带前缀的box-sizing.

边框盒模型在未来CSS3中的一个可选方案是使用盒子尺寸计算值;

div {
  width: calc(50%-12px);
  padding: 10px;
  border: solid black 2px;
}

在IE9中支持使用cale()计算CSS的值,在Firefox为-moz-cale()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标准CSS盒模型规定width和height样式属于给定内容区域的尺寸,并且不包含boder和padding,可以...
    正直走阅读 269评论 0 0
  • CSS盒模型 基本概念:标准模型 + IE模型 ==》标准模型和IE模型的区别 ==》CSS如何设置这两种模型 =...
    Ren_YC阅读 217评论 0 0
  • 一、问题 (一)、如何调试 IE 浏览器 1、对于IE7及以下版本可采用IETester(不能测脚本,模拟出来的I...
    该帐号已被查封_才怪阅读 1,406评论 0 8
  • CSS三个大核心模块:盒模型 、浮动和定位,其余的都是细节。 网页布局就是把网页元素(文字,图片等)资源放入盒子里...
    组团学阅读 393评论 0 0
  • 接触前端也有些时间,发现往往简单的东西,我们自以为是的认为懂了。经过一些事情后还是觉得有空的情况下需要进行复盘,下...
    w晚风阅读 332评论 0 14