tem*_*oto 5 css internet-explorer internet-explorer-6
*html selector黑客,对吧?有可能将它们组合起来
//*html @import url(ie6hacks.css);
Run Code Online (Sandbox Code Playgroud)
或者,可能,
//*html { @import url(ie6hacks.css); }
Run Code Online (Sandbox Code Playgroud)
?
好的浏览器必须跳过这个,它还能在IE6中运行吗?它看起来像一个解决方案?我可以清楚地看到它看起来像普通的CSS一样难看.
Dan*_*Lew 12
当你可以使用条件注释来包含你需要的CSS时,为什么还要烦恼呢?
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="ie-6.0.css" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
一些资源:
如果你真的必须使用@import,你可以利用IE不遵循@import规则规范的事实.通常它必须是样式表或样式标记中的第一个想法,否则它将被完全忽略.但是,IE6(至少在我测试时)似乎并不在乎.沿着这些方向,您可以这样做:
<style type="text/css">
.NotARealClass { }
@import url("ie-style.css");
</style>
Run Code Online (Sandbox Code Playgroud)
请注意,除了FF3(无法加载ie-style.css)和IE6(无论如何加载它)之外,我还没有测试过这个.你的旅费可能会改变.
\n\n\n是否可以像这样将它们组合起来
\n
* html @import url(ie6hacks.css);\nRun Code Online (Sandbox Code Playgroud)\n\n不。像 @import 这样的 at 规则不是选择器,因此不能与其他选择器组合。
\n\n有多种方法可以让 at 规则发挥作用,例如:
\n\n@import url(/* no! */iehacks.css);\nRun Code Online (Sandbox Code Playgroud)\n\nIE6/7 会加载,其他浏览器不会加载。但是,我不建议使用它;这种东西可能真的很脆弱。这个特定的例子也是无效的CSS。
\n\n正如 Daniel 所说,如果您想要单独的 .css 文件进行黑客攻击,最好的方法是有条件包含的链接标记。\xe2\x80\x9c* html\xe2\x80\x9d 的优点在于你可以将 hack-rules 放在同一个样式表中,如果只有几个则更容易管理;无论如何,如果您有一个单独的样式表,它就没有任何优势。
\n\nIMO \xe2\x80\x9c* html\xe2\x80\x9d for IE6 是迄今为止仍然合法使用的唯一 hack。所有盒子模型的东西都和 IE5\xe2\x80\x89\xe2\x80\x94\xe2\x80\x89 一起死了假设你没有使用 IE6 Quirks 模式,你不应该\xe2\x80\x89\xe2 \x80\x94\xe2\x80\x89 和其他浏览器,甚至 IE7,通常都太强大了,无法通过简单的 hack 进行攻击;针对他们的少数黑客技术太复杂/脆弱/无效,无法真正使用。
\n\n(作为简化盒子模型黑客的发明者,我衷心祝愿他们摆脱困境。)
\n