【发布时间】:2014-11-22 02:39:25
【问题描述】:
我有以下基本的 HTML 结构:
<ul class = "foo">
<li>
<a href = "example.com">
Click here
</a>
</li>
</ul>
还有以下 CSS:
a:link {
color: blue;
}
ul.foo li {
padding: 2em;
border: 1px solid black;
}
ul.foo li:hover {
color: green;
}
ul.foo li:hover a {
color: green;
}
所以基本上所有链接都是蓝色的,<UL> 内的 <LI> 元素 "foo" 类的元素在悬停时有绿色文本。这里的问题是,当鼠标悬停在 <LI> 元素上时,我希望作为 <LI> 元素的子元素的 <A> 元素具有 green 文本。但是,由于文档范围的a:link 选择器,<a> 元素中的链接文本保持蓝色直到鼠标专门触摸链接。但我希望鼠标悬停在封闭的<LI> 元素上时链接变为绿色。
我怎样才能做到这一点?我知道 CSS 使用“特异性”来决定应用哪些规则,但我不明白为什么 ul.foo li:hover 选择器比文档范围的 a 选择器更少具体。
【问题讨论】: