IE6目标,*或_更好?

时间:2011-07-12 14:34:38

标签: css internet-explorer-6

我只需要针对IE6来修复bug。我知道条件样式表会更好,但我只能访问CSS而不是HTML(长篇故事)。

似乎我可以通过以下任何一种方式实现这一目标:

*html .mydiv {
    height: 40px;
}

.mydiv {
    _height: 40px;
}

一种解决方案比另一种更好吗? 谢谢

4 个答案:

答案 0 :(得分:1)

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

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

对于训练有素的眼睛很明显,这是一个IE6黑客。

答案 1 :(得分:1)

第二个选项_height: 40px;是不推荐的,因为它没有针对W3C标准进行正确验证。您可以在此处阅读有关IE6黑客的更多信息:http://www.webdevout.net/css-hacks#in_css

据我所知,两者都只适用于IE6及以下版本。

无论如何,选择取决于具体情况。前者对于IE6的一组修复更好,后者对于现有组中的单个属性更好。

答案 2 :(得分:0)

它们都是利用浏览器中的漏洞攻击的黑客,所以它们同样难以使用。我可以访问服务器,根据浏览器的用户代理字符串提供不同的样式表会稍微好一些。

如果我不得不使用其中一个,我更喜欢第一个(利用选择器错误的那个),因为在段落的早期很明显它是IE特定的(在第二种情况下你需要阅读更长时间)看见)。如果没有明确的评论,就不应该使用它们。

答案 3 :(得分:0)

小心: _只是ie6, *是ie6和ie7。

您可能还会考虑这种类型的css分叉,从而产生更清晰的代码:

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