我认为以相同的顺序编写CSS规则属性会很方便。这个排序有什么约定吗?
我注意到Firebug
按字母顺序显示CSS属性。为什么? HTTP不保留CSS规则的原始顺序吗?
答案 0 :(得分:5)
否定。将类似属性保持在一起是一种很好的做法,但过去没有像选择器那样的“操作顺序”。
但是,类型的最后一条规则将取代前一条规则。
示例:
background-color: #000;
background: #FFF url(image.jpg) 0 0 no-repeat;
颜色(如果图片无法加载)现在将white
,因为它是最后一次。
示例#2:
border: none;
border-right: 1px solid #000;
将导致所有边框都为空,但是通过覆盖第一个声明,右侧边缘为1px solid #000
。
编辑:当在整个文档中的不同选择器之间分配属性时,也会应用这个第一个最糟糕的逻辑。
body * {
margin: 0;
}
...further down
#main {
margin-top: 2em;
}
允许#main
给自己margin
,因为它来了。当然,即使{<1}}在 #main
之前被赋予,选择器的特异性也会发生这种情况,但是你明白了。您可以阅读为什么这是真的 right here.