我想在css文件中仅对IE 6,7,8使用一些css属性。可能吗? 是否可以为每个属性定位特定版本的IE。
这样的事情:
.mystyle {
top:5px
top:-30px //only if ie6
top:-5px //only if ie8
}
我知道<![If lt IE7]>
标签,但是,我不想再创建一个css文件。
答案 0 :(得分:5)
这个脚本很小,充满了令人敬畏的:http://rafael.adm.br/css_browser_selector/
它会将类放在与用户浏览器对应的HTML元素上。那会让你做这样的事情:
.ie7 .mystyle { top:5px;}
.ie8 .mystyle { top:-30px;}
我不会仅为此脚本创建新的外部JavaScript文件。它太小了,我通常只是将它添加到我现有的外部JavaScript文件的顶部。
答案 1 :(得分:3)
您可以在样式表中使用许多黑客,但这通常被认为是不好的做法。这是an example
为什么不想使用多个样式表?
受斯蒂芬的帖子启发,你可以做到这一点(由保罗爱尔兰人从html5 boilerplate偷走):<!--[if lt IE 7 ]> <html lang="en" class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
最终修改
应该解释一下。如果将其添加到html中,您将有条件地设置IE覆盖类。如果浏览器大于IE9(无)或不是IE
,则最后一行不呈现类答案 2 :(得分:0)
你可以使用IE黑客,这将实现你正在寻找的东西。但是,不建议这样做;长期维护将变得困难。
条件评论解决方案是最简单,最干净的解决方案,并且得到了MS的支持。你应该使用它们。