对于浏览器< IE7,我想使用某种样式属性,而对于其他浏览器我想使用另一种。我可以使用单个css文件执行此操作,还是必须执行以下逻辑以包含ie hack css文件?
答案 0 :(得分:9)
以下是一个示例,您可以使用IE6特定的CSS来覆盖IE 6或更低版本的特定CSS类:
<link rel="stylesheet" type="text/css" href="/css/screen.css" title="MySiteStyle" media="screen" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="/css/screen-ie6.css" title="MySiteStyle" media="screen" />
<![endif]-->
或者,你可以在每个元素的基础上这样做:
<!--[if (!IE) | (gt IE 6)]>
<div class="header">
<![endif]-->
<!--[if lte IE 6]>
<div class="ie6_header">
<![endif]-->
MSDN提供了有关IE Conditional Comments支持的更多详细信息。
答案 1 :(得分:2)
那么你可以使用javascript来检测浏览器并根据它来应用一个类。例如,请参阅:
答案 2 :(得分:2)
您可以使用conditional comments:
<!--[if lt IE 7]>
<style>
/*your style for IE <=6*/
</style>
<![endif]-->
<![if !IE | (gte IE 7)]>
<style>
/*your style for other browsers*/
</style>
<![endif]>
我发现它是这种事情最干净的解决方案。
答案 3 :(得分:2)
您可以使用CSS hacks。但你不应该。
答案 4 :(得分:1)
您可以在某种程度上使用CSS表达式。
有关示例,请参阅http://gadgetopia.com/post/2774。这些不会绕过条件CSS属性本身,但它们允许您动态地改变CSS属性的值。
答案 5 :(得分:1)
在jQuery技巧上查看这个插件: http://jquery.thewikies.com/browser/
一个插件来做ghills所说的,这是一个很好的干净方法。
答案 6 :(得分:0)
以下page将向您展示专门针对IE7的6个CSS黑客攻击。您不应该使用它们,但它们是获得您网站的正确外观的最简单方法。