使用不同的浏览器问题时不同的CSS?

时间:2011-03-19 16:28:19

标签: html css browser

 <!--[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似乎完全加载。为什么是这样?

3 个答案:

答案 0 :(得分:1)

您的底部块实际上不是注释(它不以<!--开头),因此所有浏览器都会读取主样式表。另外,检查一下你的逻辑:IE6大于IE5和!= IE5,所以无论如何都会为某些版本的IE加载主样式表。

答案 1 :(得分:1)

这不是你应该怎么做的。

没有人使用IE5,所以不要理会。

请改为:

<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吗?如果是这样,请将IE6特定规则放在ie6.css
  • 将IE7特定规则放在ie7.css

对于IE8或IE9,您根本不需要单独的样式表。这些浏览器足够兼容,可以处理与其他浏览器相同的样式表。

答案 2 :(得分:0)

如果您反转链接到应修复它的样式表的顺序。发生的事情是首先设置IE特定的样式表,但master.css在之后覆盖它。

另外,我认为你不需要围绕非IE浏览器<![if !(IE 5)]><![endif]>

相关问题