我有以下代码来检查用户是否正在使用IE7 ......并且它需要超越.web_info样式。如果不是IE7它使用默认样式,如果它不是IE,它将使用ff_styles.css。这似乎不起作用。
<link rel="stylesheet" type="text/css" href="../styles.css">
<![if !IE]>
<link rel="stylesheet" type="text/css" href="../ff_styles.css">
<![endif]>
<![if IE 7]>
<style type="text/css">
.web_info
{
left: 450px;
top: 200px;
width: 300px;
height: 60px;
}
</style>
<![endif]>
有什么建议吗?谢谢
答案 0 :(得分:4)
这不应该像
<!--[if IE 7]>
..
<![endif]-->
和
<!--[if !IE]>
...
<![endif]-->
请注意
<!--[if !IE]>
永远不会产生真实,因为这些条件性评论仅由IE解释。
答案 1 :(得分:3)
条件注释是IE特定的,因此“<![if !IE]>
”不是firefox或任何其他浏览器的有效指令。另外我建议你尝试以下语法:
<!--[if IE 7]>
<style type="text/css">
.web_info
{
left: 450px;
top: 200px;
width: 300px;
height: 60px;
}
</style>
<![endif]-->
关于我的最后一点注意事项:由于IE7 / IE8大部分都符合标准,如果可能的话,应该避免使用这些CSS黑客攻击。
<强>更新强> 感谢slosd我站得住了!根据“Supporting IE with conditional comments”,您可以使用以下内容隐藏IE中的内容:
<!--[if !IE]>-->
do something; IE will ignore this, other browsers parse it
<!--<![endif]-->
很抱歉给我带来的不便!
完整的工作示例:
<link rel="stylesheet" type="text/css" href="../styles.css">
<!--[if !IE]>-->
<link rel="stylesheet" type="text/css" href="../ff_styles.css">
<!--<![endif]-->
<!--[if IE 7]>
<style type="text/css">
.web_info{
left: 450px;
top: 200px;
width: 300px;
height: 60px;
}
</style>
<![endif]-->
答案 2 :(得分:2)
不要检查浏览器是否不是IE,检查它是否是IE7然后是否是IE,然后默认为回退。 更多信息:http://www.quirksmode.org/css/condcom.html