<!--[if gte IE 5]>
<link rel="stylesheet" type="text/css" href="iemaster.css" />
<![endif]-->
<![if !(IE 5)]>
<link rel="stylesheet" type="text/css" href="master.css" />
<![endif]>
根据是否为IE加载不同的样式表。问题是我有按钮栏穿过顶部。在IE中,我需要填充0和其他方面我需要它在200px,但无论我对值做什么,IE中的栏似乎没有改变。虽然它改变了铬。似乎唯一有效的方法是,如果我让类影响它的名称与非IE名称不同。当然这意味着我的非IE将无法正常加载。除此之外,CSS似乎完全加载。为什么是这样?
答案 0 :(得分:1)
您的底部块实际上不是注释(它不以<!--
开头),因此所有浏览器都会读取主样式表。另外,检查一下你的逻辑:IE6大于IE5和!= IE5,所以无论如何都会为某些版本的IE加载主样式表。
答案 1 :(得分:1)
这不是你应该怎么做的。
没有人使用IE5,所以不要理会。 p>
请改为:
<link rel="stylesheet" type="text/css" href="master.css" />
<!--[if IE 6]><link rel="stylesheet" type="text/css" href="ie6.css" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" type="text/css" href="ie7.css" /><![endif]-->
您的主样式表将在每个浏览器中加载。
ie6.css
。ie7.css
。对于IE8或IE9,您根本不需要单独的样式表。这些浏览器足够兼容,可以处理与其他浏览器相同的样式表。
答案 2 :(得分:0)
如果您反转链接到应修复它的样式表的顺序。发生的事情是首先设置IE特定的样式表,但master.css在之后覆盖它。
另外,我认为你不需要围绕非IE浏览器<![if !(IE 5)]>
和<![endif]>
。