![]() |
1
-7
我假设你用这个来绕过IE6盒子模型。不幸的是,没有一种通用的方法可以欺骗早期版本的IE来支持任意CSS属性。
为了解决这个问题,我建议为IE6使用一个单独的样式表,并使用 IE conditional comments . 在IE6样式表中,可以指定不同的宽度/高度/填充/边距,以使布局看起来一致。您只能像这样包含IE6的样式表:
|
![]() |
2
101
正如你所指出的:
1.条件评论:
对IE8和IE9使用框大小调整,然后对IE7进行特定覆盖。这个选择将是痛苦的。 https://github.com/Schepp/box-sizing-polyfill 这个优秀的Polyfill是一个HTC文件,它修改了IE6和ie7中的默认浏览器行为,因此它们使用W3C-box模型。它的罚款轻使用,但可能会造成问题,它自己如果广泛使用。小心使用和测试。
非语义嵌套div间接地提供了填充,缺点是标记变得不整洁。显然不要使用内联样式,我在这里使用它们是为了说明。 古老的格言 4.我的首选解决方案-直接子选择器:
然后,您可以编写一个规则,将左右边距添加到div的所有直接子级:
这将给h1和p添加一点边距,但不会给嵌套的em添加边距,从而在content div上出现20px的填充,但不会触发box模型错误。 5.考虑放弃IE7支持IE7是最后一个不识别框大小属性的浏览器。如果IE7的流量很小,你 考虑放弃支持。你的CSS会更好。 截至2013年底,这是我的首选。
|
![]() |
3
17
你可以使用polyfill使它在某些项目上工作,但它不适用于我的输入字段。 https://github.com/Schepp/box-sizing-polyfill
|