什么是width/margin和_width/_margin之间的区别?

7
.pageWidth
{
margin: 0 30px;
min-width: 940px;
_width: 976px;
_margin: 0 auto;

}

我从一个CSS文件中看到了这个。我的问题是:width/margin和_width/_margin之间有什么区别?为什么要在此处使用_width/_margin?

3个回答

13

这是针对IE6的一种hack。CSS规则_margin_width仅适用于该浏览器。还有更多好奇的针对IE浏览器的hack,例如:

width: 940px\9; /* IE8 and below */  
*width : 960px; /* IE7 and below */  

如果您在谷歌上快速搜索“IE CSS hacks”,您可以找到更多有关如何针对邪恶的IE中的CSS规则的信息和技巧,例如:Quick Tip:如何使用4个字符独特地针对IE6、IE7和IE8


2

在属性前添加_和-是为了兼容Internet Explorer 6及以下版本。以下是相关文章供您参考:

http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml

*在常规属性名称前加上前缀_或-将导致该属性应用于Internet Explorer 6及以下版本,但通常不适用于其他浏览器。*


1
这是一种用于针对Internet Explorer的旧CSS hack。 IE试图变得聪明,并对CSS属性进行一些附加解析,其中之一是去除下划线。 因此,在您的情况下,IE将覆盖宽度为976px,而其他浏览器的宽度将保持为940px。过去使用这种方法来解决IE破损的盒模型问题,该问题不遵循W3C规范。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接