2011-11-10 64 views
4

在将Dinamycally CSS加载到IE中时出现问题。CSS订单和Internet Explorer

我有不同的CSS文件,我需要将这些文件以特定顺序添加到头部。 例如,我有一个客户文件,该文件应始终具有最高的优先级,并且在阅读客户信息时我必须在开始处包含这些文件。

所以我有这样的:

<head> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: "StartingCSS.css"> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: CSSclient.CSS> 
</head> 

在某一时刻我必须包括的头具体为另一模块另一个CSS文件,并使用原型和JavaScript我有这个文件的头部的第一个,所以我有这样的事情:

<head>  
    < link rel: "stylesheet", 
     type: "text/css", 
     href: "MyModule.css"> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: "StartingCSS.css"> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: CSSclient.CSS> 
</head> 

在一个正常的浏览器,如Chrome或FF的CSSclient文件仍然具有最高的优先级,因为是插入时获得的最后一个文件中,但在IE中的最后一个文件功率。

有人对我有个好主意吗? :)

非常感谢,何塞

+2

不应该那些冒号是平等的吗?有没有这些逗号的需要,还是我错过了什么? – dougajmcdonald

+0

同意,是你的源代码,还是你编辑它的“易于阅读?” – Kyle

+0

也一致认为,这看起来甚至不像HTML ...也许''CSSclient.CSS'周围的双引号也会有帮助。 – Cyrille

回答

1

在其中加载CSS文件的顺序在如何应用样式的影响非常小。对某个元素应用的样式取决于CSS规则中使用的选择器的特殊性。即使特异性较低的样式稍后宣布,特异性较高的特异性也会降低特异性。

形式为(a,b,c,d)的specificity can be seen as a combination of four digits其中a优先于b和b优于c而c优于d。所以(0,0,0,2)比(0,0,0,1)具有更高的特异性,(0,0,1,0)比(0,0,0,2)具有更高的特异性。

只有在选择器的使用方式完全相同时,样式声明的顺序(即装入样式表的顺序)才是重要的。

+0

,你可以通过条件注释来定位IE – albert