问答详情
源自:4-1 使用jQuery实现网页定位导航(上)

选择器的优先级问题.

发现了一问题,选择器优先级的问题,

#menu ul li a{color:#333;}的默认字体颜色下

1F选择器前还必须得加上#menu才可以改变,否则单纯使用class或者id是无法改变的.

但是正常的不是id或者类选择器要大于标签选择器的吗


提问者:海的那边是海 2016-12-14 15:47

个回答

  • WEB丶FriEnD
    2016-12-14 16:12:35
    已采纳

    #menu ul li a{color:#333;}

    如果1F的a用current  ID ,

    按css选择器权重计算。  current  ID  权重为  100

    但#menu ul li a 的权重是  (#menu ID )100 + (ul+li+a)1+1+1 = 103  

    103>100

    #menu #current 的权重是100+100=200

    #menu .current 的权重是100+10=110

    参考 http://blog.csdn.net/jane617_min/article/details/48370507

  • 海的那边是海
    2016-12-14 16:06:11

    只是经过测试发现组合选择器比如父标签后跟着子标签的选择器优先级要大于直接对子标签用类选择器.以下这种情况,字体颜色会呈现白色

    .test1{
       width:300px;
       height:200px;
       background: #fff0de;
       color:red;
    }
    .test1 div{
       color:white;
    }
    .a{
       color: #171bff;
    }