如果IE版本小于8,我正在使用条件注释来链接到一个css文件(我们称之为“IEonly.css”)。我试图覆盖一些属性常规的css文件。奇怪的是,IEonly.css会正确设置新的CSS属性,但它不会覆盖常规CSS文件中的属性!有条件的CSS文件不覆盖常规的CSS
(我试图让这个工作适用于IE7)。
帮助!
编辑:我添加了一个!重要的CSS风格后,看看是否会有所帮助。它没有。
如果IE版本小于8,我正在使用条件注释来链接到一个css文件(我们称之为“IEonly.css”)。我试图覆盖一些属性常规的css文件。奇怪的是,IEonly.css会正确设置新的CSS属性,但它不会覆盖常规CSS文件中的属性!有条件的CSS文件不覆盖常规的CSS
(我试图让这个工作适用于IE7)。
帮助!
编辑:我添加了一个!重要的CSS风格后,看看是否会有所帮助。它没有。
我向元素添加了一个类,并在IEonly样式表上用类选择器和常规样式表引用它。这导致IEonly样式声明覆盖常规样式声明。
你能发表一个代码的例子吗?常规的和IE覆盖。听起来好像在IE样式表中添加一个类时它的工作原理有问题。 – 2010-05-28 05:47:44
给定多个样式表(即使有些条件注释的其他浏览器隐藏了某些样式表),则会应用the cascade的常规规则。
确保您的选择器适当具体,并且按照正确的顺序应用样式表。
不要忘记,您也可以使用!important
规则覆盖CSS定义。该规则的Here is the W3C documentation。
我试着添加一个!重要的。它没有帮助。 – dmr 2010-05-27 19:38:27
也许你可以重新组织样式表默认为IE样式,并使用if !IE
条件为“良好的浏览器”覆盖。
如果您在两个样式表中使用相同的选择器,那么只要将条件IE样式表放在常规样式表之后,您应该没问题。如果你这样做,并且你的IE表格没有被使用,那么你可能需要编写更具体的选择器。
#sidebar #nav li a { }
的,而不是...
#nav li a { }
或
li a { }
根据我自己的类似问题的经验,我猜想,有一些损坏或丢失字符在某处你潜伏IEonly.css文件。他们可能是一个真正的痛苦追查,所以做到以下几点:
您还可以尝试阅读http://www.w3.org/TR/CSS2/cascade.html#important-rules了解更多信息。
你可以发表一些代码给我们看看吗?这将有所帮助。
你能发表一个url和元素样式的例子吗? – 2010-05-27 19:40:59
嗯...显然!重要的并不总是适用于IE ... – dmr 2010-05-27 19:48:56