伪类的优先级?(之前老师的回答,我觉得有问题,但当时手点快了,选择了采用,这里再问一下)

伪类的优先级?(之前老师的回答,我觉得有问题,但当时手点快了,选择了采用,这里再问一下)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>绝对定位</title>
    <style type="text/css">
 .block:nth-child(2) {
            position: absolute;
 top: 20px;
 left: 20px;
 border-color: red;
 }

        .block {
            width: 80px;
 height: 80px;
 line-height: 81px;
 text-align: center;
 border: 2px solid black;
 }

    </style>
</head>
<body>
<div class="block">A</div>
<div class="block">B</div>
<div class="block">C</div>
</body>
</html>

这个代码执行后, .block:nth-child(2)的属性是覆盖了block 的属性的,但是.block 在.block:nth-child(2)后面,那说明.block:nth-child(2)的优先级更高,为什么?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好!

class优先级为10只是为了好记认为的去给它添加一个数值

各类选择器的优先级如下:

1.id选择器(#myid)

2.类选择器(.myclassname)

3.标签选择器(div,h1,p)

4.相邻选择器(h1+p)

5.子选择器(ul < li)

6.后代选择器(li a)

7.通配符选择器(*)

8.属性选择器(a[rel="external"])

9.伪类选择器(a:hover,li:nth-child)

在这里.block:nth-child(2) 优先级高是 “类选择器+伪类选择器”所以比“类选择器”优先级高

如果帮助到了你 欢迎采纳 祝学习愉快~

好帮手慕码 2019-05-19 10:27:18

同学你好!
之前解释的确实是有点问题,抱歉给同学造成了误解~~~

这里确实是优先级的的问题,类选择器class的优先级比较高,伪类选择器nth-child的优先级次

.block:nth-child(2) 这里的优先级做了叠加。因此.block:nth-child(2) 的优先级较高一些~

如果帮助到了你 欢迎采纳 祝学习愉快~



  • 提问者 qq_夜_71 #1
    class选择器的优先级是10,那么伪类选择器的优先级等级是多少?
    2019-05-19 13:27:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师