将样式应用于div下的任何级别

时间:2012-07-06 19:33:36

标签: html css css-selectors

这是我的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的{​​{1}}下,而是在其他元素中有多个级别,例如{ {1}}秒。我的目标是在一个leftNav下实现所有链接,我该怎么做?

1 个答案:

答案 0 :(得分:1)

这将选择.leftNav中的任何锚元素并给它一个黑色。

.leftNav a { color: black; }

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

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

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

这意味着您不必为看起来不同的链接覆盖样式,只是不要将这些链接指定为.link类。