假设我在css中定义了一个类,在3个css文件中用diff定义重复了类名…
在css1中,我定义宽度为10px
在css2中,我定义宽度为20px
在css3中,我定义宽度为30px
在我的html文件中,我调用/链接css1,它在顶部有一个css2的导入,它再次导入css3。
所以我的问题是,应用的宽度是多少,这个决定是如何做出的?

最佳答案

最终适用的规则是

.myclass { width: 10px; }

因为导入的样式表总是排在第一位(当然是按照导入的顺序),然后被导入它们的样式表后面的内容覆盖,所以对于同样特定的规则,级联的顺序是
css3.css文件
css2.css(重写导入的css3.css中的规则)
css1.css(重写导入的css2.css中的规则)
“已编译”的css将如下所示,因此规则的级联方式更加清晰:
.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 */

09-18 23:55