Html CSS@import究竟是如何工作的?
假设我在CSS中定义了一个类,在3个CSS文件中使用不同的定义重复该类名。。。 在Css1中,我将宽度定义为10px 在Css2中,我将宽度定义为20px 在Css3中,我将宽度定义为30px 在我的HTML文件中,我调用/link css1,它的顶部有一个css2的导入,它再次导入css3Html CSS@import究竟是如何工作的?,html,css,Html,Css,假设我在CSS中定义了一个类,在3个CSS文件中使用不同的定义重复该类名。。。 在Css1中,我将宽度定义为10px 在Css2中,我将宽度定义为20px 在Css3中,我将宽度定义为30px 在我的HTML文件中,我调用/link css1,它的顶部有一个css2的导入,它再次导入css3 所以我的问题是什么宽度将被应用,以及这个决定是如何做出的?最终应用的规则是 .myclass { width: 10px; } 因为导入的样式表总是排在第一位(当然是按照导入的顺序),然后被导入它们的样式
所以我的问题是什么宽度将被应用,以及这个决定是如何做出的?最终应用的规则是
.myclass { width: 10px; }
因为导入的样式表总是排在第一位(当然是按照导入的顺序),然后被导入它们的样式表中后面的任何内容覆盖,所以同样特定的规则的级联顺序是
.myclass { width: 30px; } /* From imported css3.css */
.myclass { width: 20px; } /* From imported css2.css, overrides css3.css */
.myclass { width: 10px; } /* From css1.css, overrides css2.css */
除了额外HTTP请求和缓存的含义外,
@import
就像将导入文件的内容放在导入文件中@指令出现的位置一样
规则(包括特殊性和来源顺序)将正常应用