【发布时间】:2013-12-25 14:10:49
【问题描述】:
我认为始终以相同的顺序编写 CSS 规则属性会很方便。这个排序有什么约定吗?
我注意到Firebug 按字母顺序显示 CSS 属性。为什么 ? HTTP 不保留 CSS 规则的原始顺序吗?
【问题讨论】:
标签: css web-applications
我认为始终以相同的顺序编写 CSS 规则属性会很方便。这个排序有什么约定吗?
我注意到Firebug 按字母顺序显示 CSS 属性。为什么 ? HTTP 不保留 CSS 规则的原始顺序吗?
【问题讨论】:
标签: css web-applications
否定的。将相似属性放在一起是一个很好的做法,但过去没有像选择器那样的“操作顺序”。
但是,类型的最后一条规则将被前一条规则取代。
例子:
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,因为它紧随其后。当然,即使#main 被赋予之前 body *,选择器特异性也会允许这种情况发生,但你明白了。您可以了解为什么这是真的right here.
【讨论】:
background- 规则。 background-attachment, background-image - 你会把这些分组。另一个示例可能是字体:font-family、color、font-size。
border-radius 和 border.