这篇文章(尽管它是基于一个事实导致我在工作中遇到麻烦)更多的是哲学问题而不是真正的问题提交。Css规则应用程序订单
我碰到这个令人费解之后震荡下跌的情况下...
这是不是真的,因为我(我认为)理解这一现象的一个问题,它是如何统治,它有效果。
我做了以下示例:http://jsfiddle.net/q7xAn/尽可能描述。
在这种情况下,为什么(Ô上帝为什么)跨度有黄色背景?
我不知道哪个规则适用于它,但更多的是:在其名称中扭曲(与我总是假设的相反)最后一条声明规则是否适用于第一条声明?
我的意思是“.red span”和“.yellow span”具有相同的复杂度。
- 相同长度
- 每个项目在给定位置具有相同的权重/重要性
它们在CSS选择自然顺序等同。
然后,在适用的问题上应该遵循的是哪条规则最贴近样式的项目。 在我的示例中,跨度应该用'.red span'(最接近的规则)而不是'.yellow span'(它也是正确的,但被'.red span''覆盖')。
这种行为是否存在“历史性”,“政治性”,“哲学性”或任何其他原因? 可能会强制我正在寻找的行为的一些DOCTYPES(可能是?)吗? 我可以向w3c提交请求(为什么不?)?怎么样 ? 任何信息,建议,不同的观点,都比欢迎!
感谢所有提前。
Edit note :
我不想引用自己,但在注释艾默里克,我想出一个好办法来解释我的问话真的是什么。
总的来说,如果我有,让我们说7种颜色方案(每种彩虹颜色)。
还假设我是一个团队(比方说)10人的css制造商。
我希望他们(我的团队)能够嵌套颜色方案块。
- 在一种情况下,红色的块会包含黄色和洋红色的块。
- 在其他(有趣的)情况下,人们希望有7层嵌套(红色嵌套在嵌套为黄色的橙色嵌套在...)。
我现在没办法事先决定需要哪种用法。
当前CSS经历的行为会强迫我改造我的CSS 每一次新嵌套需要弹出与令人讨厌过于臃肿的规则来结束。
在维护这方面是一种暴行:“(
对不起!但是,在阅读你的文章的字眼之后,我确实无法抑制一个微笑:) – verisimilitude
不确定你笑是因为你喜欢我写的方式还是因为取笑我的近似英语(我是法语)。无论如何,我很高兴我让你微笑;) – Ar3s
一个原因可能是,如果浏览器只是应用最新的适用规则,那么它就不必跟踪每个元素的级联顺序。 –