0
#top a {
  color: #C6D6CA;
  margin: 0 25px;
  text-decoration: none;
}

.mainlink a {
  display: block;
  height: 100%;
  width: 100%;
  margin: 0;
}

.mainlink div 位于#top 的某处。为什么#top a (parental) margin 的定义会覆盖 .mainlink a 中的集合?如何改变这种行为?

4

5 回答 5

4

您可以通过更改规则来修复它:

#top a {}
#top .mainlink a {}
于 2011-01-04T20:17:39.517 回答
2

这称为选择器特异性。另见: http: //www.stuffandnonsense.co.uk/archives/css_specificity_wars.html

于 2011-01-04T20:03:38.817 回答
0

由于 CSS“级联”,颜色将应用于任何元素的子元素。您需要为孩子指定颜色,并且可能需要在属性声明的末尾添加一个“!important”。

于 2011-01-04T20:04:20.330 回答
0

当样式表被级联时,命名 id 的优先级高于类。

http://www.w3.org/TR/CSS2/cascade.html

您可以使用margin: 0 !important强制覆盖。

于 2011-01-04T20:04:43.140 回答
0

选择#top a. _ .mainlink aID 选择器极大地增加了选择器的特异性。

每个 ID 将选择器的特异性提高 100 倍。每个类将特异性提高 10 倍。

既然如此,我要么:

A. 将 ID 替换为类
B. 将 ID 添加到第二个选择器。

于 2011-01-04T20:04:43.813 回答