dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 823|回复: 0

[Html/Css] 选择器的权重

[复制链接]
  • TA的每日心情

    2024-2-20 11:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    878

    主题

    4343

    帖子

    3995

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    3995

    发表于 2020-4-6 08:00:03 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    选择器的权重
    权重就是我同个元素,有多个选择器的情况下,我该选择哪一个选择器的样式。

    [HTML] 纯文本查看 复制代码
    <!doctype html>
    <html>
        <head>
            <title></title>
            <meta charset="utf-8" />
            <style type="text/css">
                #p{
                    background: red;
                }
                .p{
                    background: skyblue;
                }
                p{
                    background: green;
                }
                
            </style>
        </head>
        <body>
            <p style="background: pink" id="p">行内的样式</p>
            <p  class="p" id="p">id的样式</p>
            <p  class="p">class的样式</p>
            <p>p标签的样式 </p>
        </body>
    </html>

    通过上面的比较,可以得出,行内样式>id选择器>类选择器>标签选择器>通配符
    那么有没有可能让标签选择大于所有的选择器呢,答案是有的,只要加上这行代码!important,任何选择器的权重就是无限大了。

    [HTML] 纯文本查看 复制代码
    <!doctype html>
    <html>
        <head>
            <title></title>
            <meta charset="utf-8" />
            <style type="text/css">
                #p{
                    background: red;
                }
                .p{
                    background: skyblue;
                }
                p{
                    background: green !important;
                }
                *{
                    background: brown 
                }
            </style>
        </head>
        <body>
            <p style="background: pink" id="p">行内的样式</p>
            <p  class="p" id="p">id的样式</p>
            <p  class="p">class的样式</p>
            <p>p标签的样式 </p>
        </body>
    </html>

    选择器的类型
    ID选择器 #id
    类选择器 .class
    标签选择器 p,div等
    属性选择器 [type="text"]
    通用选择器 *
    伪类选择器 :hover
    伪元素选择器 ::before
    子选择器、相邻选择器
    选择器的权重
    第一等:行内样式是 1000,行内样式虽然没被列入选择器里,但它的权重是最高的
    第二等:id选择器是 100
    第三等:类选择器、伪类选择。属性选择器、属性选择器 10
    第四等:标签选择器和伪元素选择器 1
    其他选择器的权重为0
    继承的样式没有权重
    如果等级相同,那么最后的样式会覆盖前面的样式
    最后请记住!important 的权重是无限大的
    权重的计算
    将选择器的权重加起来

    [HTML] 纯文本查看 复制代码
    <!doctype html>
    <html>
        <head>
            <title></title>
            <meta charset="utf-8" />
            <style type="text/css">
                body input{
                    color: blue;
                }
                input{
                    color: red;
                }
            </style>
        </head>
        <body>
            <input type="text" name="" value="ssss">
        </body>
    </html>

    最终的样式是文字为蓝色
    因为body input 的权重是2,body,input每个的权重是1,所以加起来就2

    [HTML] 纯文本查看 复制代码
    #id .input input{
        color: yellow;
    }


    上面的权重就是 100 + 10 +1 = 111



    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2025-2-2 04:51 , Processed in 0.096727 second(s), 33 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表