CSS属性的顺序

时间:2013-12-08 13:50:27

标签: css web-applications

我认为以相同的顺序编写CSS规则属性会很方便。这个排序有什么约定吗?

我注意到Firebug按字母顺序显示CSS属性。为什么? HTTP不保留CSS规则的原始顺序吗?

1 个答案:

答案 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.