当为一个盒元素同时设置border 、padding和width或height属性时,在不同 的浏览器下会有不同的尺寸。特别是在IE浏览器中,width和height是包含border和padding的,标准的width和height是不包含border和padding的。为此,要写大量的hack,以满足不同浏览器的需要。
CSS3 多盒模型进行了改善,新增的box-sizing属性用于定义width和height的计算方法,可自由定义是否包含border和padding。
box-sizing属性的语法格式如下。
box-sizing:content-box | padding-box | border-box | inherit;
相关属性值说明如下。
content-box:默认值,计算方法为width/height=content,表示指定的宽度和高度仅限内容区域,边框和内填充的宽度不包含在内。
padding-box:计算方法为width/height=content+padding,表示指定的宽度和高度包含内填充和内容区域,边框宽度不包含在内。
border-box:计算方法为width/height=content+padding+border,表示指定的宽度和高度包含边框、内填充和内容区域。