如何为特定 div 中的所有锚点标签设置样式?

16

我无法正确地完成这个任务。我有以下CSS:

#container > #main > #content > a {
    color: #3B7315;
}

我正在使用它来给位于#content区域内的所有<a>标签添加样式。然而,问题在于它似乎无法为嵌套的列表或其他div内的<a>标签添加样式,它只会为像下面这样最顶部的标签添加样式:

<div id="content">
     <a href="#">Lorem ipsum</a>
</div>

当我将链接放在另一个元素内时,样式就消失了。

那么我该如何包含所有子元素,并使样式从#content向下递归应用呢?我想我正在寻找一种类似通配符的值?


只匹配第一级子元素,而不是所有后代元素。如果您使用的是ID,则实际上只需要使用最后一个ID。 - TimCodes.NET
4个回答

43

你把它搞得比必要的更加复杂了:

#content a {}

2
在 CSS 中,“>” 的意思是样式只会应用到直接子元素上。因此,像 John 所示的那样删除“>”符号就可以了。这将包括所有的子元素。 - A_funs

5
#content a, #content a:link, #content a:visited {base style rules}
#content a:hover, #content a:visited:hover, #content a:active {over style rules}
#content a:focus {wai style rules}

2
只需要容器和你想要样式的锚点。以下内容应该可以正常工作,特别是如果你使用的是 id 来定义该 div,因为这样它就不会重复出现在其他元素上,而如果你在该 div 上使用类并在其他 div 上也使用了相同的类,那么这个样式就会被应用到所有这些 div 上。请保留 HTML 标签。
#content a{ style rules; }

希望这有所帮助!

1
符号 > 只适用于直接子元素..这就是为什么如果你使用它,它只会应用于元素id content的第一个子元素a。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接