Css IE6的目标是,*还是更好?

Css IE6的目标是,*还是更好?,css,internet-explorer-6,Css,Internet Explorer 6,我只需要针对IE6来修复一个bug。我知道有条件的样式表会更好,但我只能访问CSS而不能访问HTML(说来话长) 似乎我可以通过以下任一方法实现这一点: *html .mydiv { height: 40px; } .mydiv { _height: 40px; } 一个解决方案比另一个好吗? 谢谢不是很好,但是第二个不需要单独的选择器。这将使css更具可读性,还可以保存一个视图字节 .mydiv { height: 38px; _height: 40

我只需要针对IE6来修复一个bug。我知道有条件的样式表会更好,但我只能访问CSS而不能访问HTML(说来话长)

似乎我可以通过以下任一方法实现这一点:

*html .mydiv {
    height: 40px;
}

.mydiv {
    _height: 40px;
}
一个解决方案比另一个好吗?
谢谢

不是很好,但是第二个不需要单独的选择器。这将使css更具可读性,还可以保存一个视图字节

.mydiv {
    height: 38px;    
    _height: 40px;
}

对于训练有素的人来说,很明显,这是一种IE6黑客攻击。

这两种黑客都是利用浏览器中的漏洞进行攻击的,因此使用起来同样糟糕。如果您可以访问服务器,根据浏览器的用户代理字符串提供不同的样式表会稍微好一些

如果我必须使用其中的一个,我更喜欢第一个(利用选择器错误的那个),因为在这一段的前面很明显,它是特定于IE的(在第二种情况下,您需要阅读更长的时间才能看到它)。在没有明确注释的情况下,不得使用它们。

小心: _只有ie6, *同时适用于ie6和ie7

你也可以考虑这种类型的CSS分叉,这会导致更干净的代码:

<!--[if le IE 6]>
<link rel...>
<![endif]-->

第二个选项,
\u高度:40px
未被推荐,因为它无法根据W3C标准正确验证。您可以在此处阅读有关IE6黑客的更多信息:

据我所知,这两种方法都只适用于IE6及以下版本


不管怎样,选择将取决于上下文。前者适用于IE6的一组修复程序,后者适用于现有组中的单个属性。

OP声明他无法编辑HTML,因此无法使用条件样式表。啊,是的,谢谢。(不管怎么说,把这两种解决方案都记在心里是很好的,而且要把这些片段放在一起,所以我就不编辑了。)