相关疑难解决方法(0)

为什么.foo a:link,.foo a:visited {}选择器覆盖a:hover,a:active {}选择器在CSS中?

示例代码:http://jsfiddle.net/RuQNP/

<!DOCTYPE html>
<html>
<head>
    <title>Foo</title>
    <style type="text/css">
        a:link, a:visited {
            color: blue;
        }

        a:hover, a:active {
            color: red; 
        }

        .foo a:link, .foo a:visited {
            color: green;
        }

        /* A possible fix */
        /*
        .foo a:hover, .foo a:active {
            color: red;
        }
        */
    </style>
</head>
<body>
    <div class="foo">
        <a href="http://example.com/">Example</a>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我期待的是:

悬停时链接显示为红色.

我得到了什么:

悬停时链接显示为绿色.

问题:

  1. 为什么color定义的.foo a:link, .foo a:visited 选择器覆盖了a:hover, a:active?这是怎么回事?
  2. 我知道我可以修改它并通过取消注释注释代码来获得我的期望.但是,我想知道如何更正 .foo a:link, .foo a:visited选择器,使其不会覆盖color定义的 …

css css-selectors

14
推荐指数
1
解决办法
5115
查看次数

标签 统计

css ×1

css-selectors ×1