.pageWidth
{
margin: 0 30px;
min-width: 940px;
_width: 976px;
_margin: 0 auto;
}
我从网站的 css 文件中看到了这一点。我的问题是:width/margin 和 _width/_margin 有什么区别?为什么在这里使用 _width/_margin ?
.pageWidth
{
margin: 0 30px;
min-width: 940px;
_width: 976px;
_margin: 0 auto;
}
我从网站的 css 文件中看到了这一点。我的问题是:width/margin 和 _width/_margin 有什么区别?为什么在这里使用 _width/_margin ?
这是 IE6 的 hack。CSS 规则_margin
仅_width
适用于该浏览器。IE 浏览器还有更多奇怪的 hack,例如:
width: 940px\9; /* IE8 and below */
*width : 960px; /* IE7 and below */
如果您在 google 中快速搜索“IE CSS hacks”,您可以在邪恶的 IE 中找到更多关于 CSS 规则的信息和技巧,例如:快速提示:如何使用 4 个字符唯一地定位 IE6、IE7 和 IE8
属性之前的 _ 和 - 是为了符合 Internet Explorer 6 及更低版本。以下是供您参考的文章:
http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml
*使用 _ 或 - 为常规属性名称添加前缀将导致该属性应用于 Internet Explorer 6 及更低版本,但通常不适用于其他浏览器。*
这是一个针对 Internet Explorer 的旧 CSS hack。IE 试图变得聪明,并对 CSS 属性进行一些额外的解析,其中之一就是去除下划线。
因此,在您的情况下,IE 会将宽度覆盖为 976 像素,而对于其余浏览器,宽度将保持 940 像素。这在过去用于解决 IE 破盒模型的问题,该模型不遵循 W3C 约定。