如何重写CSS @import语句

oor*_*ile 0 html css

我在我的应用程序中有以下css代码,我需要使用import重写它.

据我所知,它首先检查IE是否为版本6,如果是,它会导入某些CSS,如果不是空字符串.

这里真的需要进口吗?我猜我是否只是在所有css文件的末尾写这个将获得优先权.

@import "javascript:(/msie 6/gi.test(navigator.userAgent)) ? 'table.menu tr.highlight td.icon img { filter: none !important; margin-left: 1px !important; margin-right: 3px !important; margin-top: 1px !important; margin-bottom: 3px !important;)' : ''";
Run Code Online (Sandbox Code Playgroud)

Pev*_*ara 6

我个人会把IE6样式放在一个单独的样式表中,并在我的HTML头部使用条件注释来包含它:

<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

这个技术在这里得到了很好的解释:http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

正如您将注意到,此技术也适用于大多数其他版本的IE.我喜欢这种技术用于@Milkywayspatterns所描述的内联黑客,因为它使代码更清晰,更易读,更易于维护.此外,它还防止IE只有css被真正的浏览器加载.他们将忽略代码(因为他们应该,毕竟他们是评论),只有IE用户将不得不等待额外的字节加载...

而且我不羡慕你仍然需要支持IE6!