ie8下box-sizing兼容问题

ie8+已经支持box-sizing属性了但是ie8还是有一定的兼容问题,效果和其他浏览器有区别,甚至和ie9+也有区别!
目前为了页面容错通常会设定box-sizing:border-box;来达到修改padding和border时页面布局不会发生错位

在CSS3中新增加了box-sizing属性,能够事先定义盒模型的尺寸解析方式,其语法规则如下:
box-sizing: content-box | border-box | inherit
取值说明
属性值
属性值说明
content-box
默认值,其让元素维持W3C的标准盒模型,也就是说元素的宽度和高度(width/height)等于元素边框宽度(border)加上元素内距(padding)加上元素内容宽度或高度(content width/ height),也就是element width/height = border + padding + content width / height
border-box
重新定义CSS2.1中盒模型组成的模式,让元素维持IE传统的盒模型(IE6以下版本和IE6-7怪异模式),也就是说元素的宽度或高度等于元素内容的宽度或高度。从上面盒模型介绍可知,这里的内容宽度或高度包含了元素的border、padding、内容的宽度或高度(此处的内容宽度或高度=盒子的宽度或高度—边框—内距)。
inherit
使元素继承父元素的盒模型模式

当使用width和height的时候ie8+页面都可以保持正常
在使用min-width,max-width,min-height,max-height时计算发生错误,ie8下的效果又会回到content-box的效果

Categories: Html5/CSS3, 前端开发