繁体   English   中英

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

[英]Different CSS when using different browsers problems?

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

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

那不是你应该怎么做的。

没有人使用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,您根本不需要单独的样式表。 这些浏览器足够兼容,可以处理与其他浏览器相同的样式表。

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

另外,我认为你不需要<![if !(IE 5)]><![endif]>在非IE之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM