0

这是我的CSS:

div.leftNav 
{
}

div.leftNav a:link { color: black; }
div.leftNav a:visited { color: black; }
div.leftNav a:active { color: black; }
div.leftNav a:focus { color: black; }

问题是a标签不是直接在div具有 class 的下面leftNav,它是向下的多个级别,有时在其他元素中,例如spans。我的目标是影响一个下的所有链接div,我该怎么做?

4

1 回答 1

1

这将选择 .leftNav 中的任何锚元素并将其设置为黑色。

.leftNav a { color: black; }

您不需要按元素(div.leftNav)进行选择,这是一种不好的做法,因为一旦您将类 .leftNav 分配给除 div 之外的任何其他元素,它就会使您的选择器中断。您也不需要选择 a (a:link, a:focus 等) 的每个伪类,因为如果您没有为它们提供特定的全局样式 (a:visited, a:link),它们将被上面的选择器覆盖等),如果您必须在 CSS 中的多个位置覆盖该全局规则,这也是一种不好的做法。

但是,如果您使用 a:visited 和 a:link 全局设置链接样式,请为它们分配一个类(例如 .link),而不是按元素选择它们,并以这种方式设置它们的样式:

.link:link { color: blue; }
.link:visited { color: green; }

这意味着您不必为看起来不同的链接重写样式,只是不要为这些链接分配 .link 类。

于 2012-07-07T23:13:09.530 回答