伪类、伪元素的权重

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        #a .b a{ 
            color: yellow;
        }
        .b a{   
            color: pink;
        }

        a:hover{ 
            color: red;
        }

        /*
            分析:
            规则1:伪类(像:hover,:visited,:active,:link)的权重和类选择器是一样的
            规则2:伪元素,像before,after优先级和标签选择器是一样的(这一条了解一下,和这道题无关)
            
            #a .b a 的权重为:(0,1,1,1)
            .b a的权重为:(0,0,1,1)
            a:hover的权重为:(0,0,1,1)

            结论:
            #a .b a 的权重最高,所以,如果有这个样式的设置,页面上的a链接是黄色的,鼠标hover上去也是黄色的
            如果把#a .b a去掉,.b a的权重和a:hover的权重一致,那他们就看谁在最后面,在最后面写的会层叠掉前面的

         */
    </style>
</head>
<body>
    <div class="a" id="a">
        <div class="b"><a href="#">我是链接</a></div>
    </div>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容