首页 > 技术文章 > css3 box-sizing属性

cssfirefly 2015-02-09 17:04 原文

定义和用法

box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。

例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为 "border-box"。这可令浏览器呈现出带有指定宽度和高度的框,并把边框和内边距放入框中。

默认值: content-box
继承性: no
版本: CSS3
JavaScript 语法: object.style.boxSizing="border-box"
box-sizing:content-box | border-box
默认值:content-box
 
content-box:
padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding以及margin之和,即 ( Element width = width + border + padding+margin )
此属性表现为标准模式下的盒模型。
border-box:
padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即 ( Element width = width )
此属性表现为怪异模式下的盒模型。
 
例子:
<style type="text/css">
    div{width:200px;height:100px;padding: 20px;
        background:#eee;}
    .content-box{
        box-sizing:content-box;
        -moz-box-sizing:content-box;
        border: 10px solid #333;
    }
    .padding-box{
        box-sizing:padding-box;
        -moz-box-sizing:padding-box;
        -webkit-box-sizing:padding-box;/*chrome 不支持*/
        border: 10px solid #ccc;      
    }
    .border-box{
        box-sizing:border-box;
        -moz-box-sizing:border-box;
        border: 10px solid #666;
    }
</style>
<div class="content-box">content-box</div>
<div class="padding-box">padding-box/*chrome 不支持*/</div>
<div class="border-box">border-box</div>

 

 

推荐阅读