【CSS小白】问关于a标签特效无法起作用的问题

代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>公共页面 - 置顶导航</title>
    <!-- Bootstrap -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        body{
            font-family: Arial;
            font-size: 12px;
            color: #999999
        }
        .redColor{
            color: #C40000 !important;
        }
        a{
            color: #999999;
        }
        nav.top span,nav.top a{
            color: #999999;
            margin: 0px 10px;
        }
        a:hover{
            color: #C40000;
            text-decoration: none;
        }
        /*nav.top a:hover{*/
            /*color: #C40000;*/
            /*text-decoration: none;*/
        /*}*/
    </style>
    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
</head>
<body>


<nav class="top">

    <a href="">
        <span class="glyphicon glyphicon-home redColor"></span>
        天猫首页
    </a>
    喵,欢迎来天猫
    <a href="">请登录</a>
    <a href="">免费注册</a>



    <span class="pull-right">
        <a href="">我的订单</a>

        <a href="">
            <span class=" glyphicon glyphicon-shopping-cart redColor" ></span>
            购物车<strong>0</strong>件
        </a>
    </span>
</nav>



<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
</body>
</html>

问题代码是这里:

其中:

clipboard.png
这一段代码无法起作用,
除非改成这样才行:

nav.top a:hover{
            color: #C40000;
            text-decoration: none;
        }

不然鼠标移动上去的时候,没有任何效果,请问这到底是怎么回事呢?

clipboard.png
用开发工具检查,也没有找到这个a:hover的选择器,奇怪了。

阅读 1.9k
1 个回答

这个其实涉及到css选择器的权重和优先级的问题了
详细可以看这个了解下 https://www.w3cplus.com/css/c...

问题在于你 这里的选择器优先级高于裸写a标签的时候 所以里面的color优先级更高并不会因为被hover所操纵

nav.top span,nav.top a{
  color: #999999;
  margin: 0px 10px;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题