我只需要针对IE6来修复bug。我知道条件样式表会更好,但我只能访问CSS而不是HTML(长篇故事)。
似乎我可以通过以下任何一种方式实现这一目标:
*html .mydiv {
height: 40px;
}
.mydiv {
_height: 40px;
}
一种解决方案比另一种更好吗? 谢谢
答案 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]-->