我在将动态 CSS 加载到 IE 时遇到问题。
我有不同的 CSS 文件,我需要按特定顺序将这些文件添加到头部。 例如,我有一个客户文件,它应该始终具有最高优先级,并且在读取客户信息时必须在开头包括在内。
所以我有类似的东西:
< head >
< link rel: "stylesheet",
type: "text/css",
href: "StartingCSS.css">
< link rel: "stylesheet",
type: "text/css",
href: CSSclient.CSS>
< /head >
在某个时刻,我必须在头部包含另一个特定于另一个模块的 css 文件,并使用原型(prototype)和 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 中,最后插入的文件获得了权力。
有人对我有好主意吗? :)
非常感谢,何塞
最佳答案
加载 CSS 文件的顺序对样式的应用方式影响很小。应用于特定元素的样式取决于 CSS 规则中使用的选择器的特殊性。较高的特异性会否决较低的特异性,即使稍后声明具有较低特异性的样式也是如此。
specificity can be seen as a combination of four digits形式为 (a,b,c,d),其中 a 优先于 b,b 优先于 c,c 优先于 d。所以 (0,0,0,2) 比 (0,0,0,1) 具有更高的特异性,而 (0,0,1,0) 比 (0,0,0,2) 具有更高的特异性。
样式声明的顺序(即加载样式表的顺序)仅在选择器以完全相同的特异性使用时才重要。
更新:
用正确的 URL 更新了链接。
关于CSS 命令和 Internet Explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078759/