html - 悬停时 anchor 元素不会改变颜色

标签 html css css-selectors

我有以下 CSS:

.container a {
    text-decoration: none;
    font-weight: bold;
    color: rgb(23, 230, 230);
}

.container a:hover {
    text-decoration: underline;
    color: white;
}

.container a:visited {
    color: rgb(230, 0, 230);
}

还有这个 html(部分):

<div class="container">
    ...
    <div class="menu">
        <ul>
            <li>
                <a href="#">link1</a>
            </li>
            <li>
                <a href="#">link2</a>
            </li>
            <li>
                <a href="#">link3</a>
            </li>
        </ul>
    </div>
</div>

我不明白为什么所有的链接选项都有效,除了悬停时的颜色:它确实有下划线,但颜色没有改变。有谁知道为什么吗?

最佳答案

在处理 anchor 元素上的伪类时,顺序很重要

它们必须按以下顺序:

a:link
a:visited
a:hover
a:active

a:hover MUST come after a:link and a:visited in the CSS definition in order to be effective! a:active MUST come after a:hover in the CSS definition in order to be effective!

source: http://www.w3schools.com/css/css_pseudo_classes.asp

有一个流行的助记符可以用来记住这一点:爱恨 (lv ha)。

有关更多详细信息,请参阅这些引用资料:

关于html - 悬停时 anchor 元素不会改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854403/

相关文章:

java - 如何获得与通配符 css 选择器匹配的第二个元素?

html - 如何选择具有两个类的元素?

javascript - 在没有 jQuery 的情况下在 HTML 和 CSS 中单击时显示隐藏 div

HTML 结构布局问题

javascript - ionic 滚动上的 Angular 变化样式

css - 如何避免 CSS 规则 * {} trump .a .b {}?

testing - TestCafe:指定选择器的问题:跨度抓取文本

jquery - 使用jquery使整个 body 不可点击,除了一个div

java - 组件渲染失败

css - 我如何使用 4 Angular 图像、4 线图像和内容 div 设计图像中显示的 div