6-选择器优先级别

选择器优先级别

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>

    <style>
        /*标签选择器*/
        div{
            color: red;
        }
        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div>我是div</div>
</body>
</html>

代码:
“*” 是通配符,可以匹配所有的标签


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>

    <style>
        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div>我是div</div>
</body>
</html>

代码:当前div标签的颜色是绿色,因为是就近原则,div标签与green设计的样式最近。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>

    <style>
        /*类选择器*/
        .test1{
            color: goldenrod;
        }

        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div class="test1">我是div</div>
</body>
</html>

代码:类选择器 > 标签选择器

上图:可以看到 类选择器 是 优先于 标签选择器的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>
    <!--
    1.相同级别的选择器:a.就近原则  b.叠加原则
    2.优先级:
        类选择器 > 标签选择器
    -->
    <style>
        /*类选择器*/
        .test1{
            color: goldenrod;
        }

        .test2{
            color: purple;
        }

        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div class="test1 test2">我是div</div>
</body>
</html>

代码:
在div标签中在加一个 test2类标签(针对同一个标签,类标签可以同时加多个);
设计test2类标签为紫色。

上图:图中是紫色;当前有test1和test2两个类选择器,相同类别是就近原则。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>
    <!--
    1.相同级别的选择器:a.就近原则  b.叠加原则
    2.优先级:
        id选择器 > 类选择器 > 标签选择器
    -->
    <style>

        /*id选择器*/
        #main{
            color:mediumvioletred;
        }

        /*类选择器*/
        .test1{
            color: goldenrod;
        }

        .test2{
            color: purple;
        }

        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div id="main" class="test1 test2">我是div</div>
</body>
</html>

代码:id选择器 > 类选择器

上图:
id选择器 优于 类选择器; 注意id是唯一的,同一个标签不可以设置多个id,否则id选择器就会失效。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>
    <!--
    1.相同级别的选择器:a.就近原则  b.叠加原则
    2.优先级:
        id选择器 > 类选择器 > 标签选择器
    -->
    <style>

        /*复合选择器*/
        div.test1{
            color: pink;
        }

        /*id选择器*/
        #main{
            color:mediumvioletred;
        }

        /*类选择器*/
        .test1{
            color: goldenrod;
        }

        .test2{
            color: purple;
        }

        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div id="main" class="test1 test2">我是div</div>
</body>
</html>

代码:id选择器 > div+类选择器(复合选择器)

上图:颜色没有变

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>
    <!--
    1.相同级别的选择器:a.就近原则  b.叠加原则
    2.优先级:
        id选择器 > 类选择器 > 标签选择器
    -->
    <style>

        /*复合选择器*/
        div.test1{
            color: pink;
        }

        div#main{
            color: cornflowerblue;
        }

        /*id选择器*/
        #main{
            color:mediumvioletred;
        }

        /*类选择器*/
        .test1{
            color: goldenrod;
        }

        .test2{
            color: purple;
        }

        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div id="main" class="test1 test2">我是div</div>
</body>
</html>

代码:div+id选择器(复合) > id选择器

选择器的针对性越强,它的优先级就越高

选择器的权值:
通配选择符(*):0
标签: 1
类: 10
属性: 10
伪类: 10
伪元素: 10
id: 100
important: 1000
原则:选择器的权值加到一起,大的优先;如果权值相同,后定义的优先(就近)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器的优先级别</title>
    <!--
    1.相同级别的选择器:a.就近原则  b.叠加原则
    2.优先级:
        id选择器 > 类选择器 > 标签选择器
    -->
    <style>

        /*复合选择器*/
        div.test1{
            color: pink;
        }

        div#main{
            color: cornflowerblue;
        }

        /*id选择器*/
        #main{
            color:mediumvioletred;
        }

        /*类选择器*/
        .test1{
            color: goldenrod;
        }

        .test2{
            color: purple;
        }

        /*标签选择器*/
        div{
            color: red;
        }
        div{
            color: green !important;
        }

        /*通配符*/
        *{
            font-size: 50px;
        }

    </style>

</head>
<body>
    <div id="main" class="test1 test2">我是div</div>
</body>
</html>

代码:在标签选择器中加了一个 !important,所以其当前的权值是1000+1=1001

  • 优先级排序

important > 行内设计 > id > 类 > 标签 | 伪类 | 属性选择 > 伪元素 > 通配符 > 继承

原文地址:https://blog.51cto.com/daimalaobing/2445587

时间: 2025-01-03 06:28:02

6-选择器优先级别的相关文章

第一天申请,随便写写

刚申请,不知道写什么,但我还是决定写点东西 今天是上课第4天,学习了css(cascading Style Sheet),对css有了初步的认识,了解了他的特点 css的引入方式:在标签内引入:head头部引入:外部link引入 link和@import区别(加载慢,低版本不支持) 常用选择器分类:id选择器:类别选择器:群组选择器:后代选择器:标签名选择器 选择器优先级别:标签内引入的样式>id>类别>标签名 就这么多,改天再写

详解CSS选择器、优先级与匹配原理【转】

作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通过Firebug查看,发现没有起作用的属性被覆盖了.这个时候突然意识到了CSS选择器的优先级问题,这里就CSS选择器的优先级问题做了一些总结. 51CTO推荐阅读:巧妙地使用CSS选择器 选择器种类 严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和ID选择器.而所谓的后代选择器和群组选择

导航栏布局时遇到的问题以及解决办法 css选择器优先级

得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下效果 或者可以使用第二种方法 #menu ul li{ float:left; margin-left:10px;text-align:center;padding-left:10px;实现列表项文字的居中 line-height:28px; height:28px; width:40px; bor

转------详解CSS选择器、优先级与匹配原理

作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通过Firebug查看,发现没有起作用的属性被覆盖了.这个时候突然意识到了CSS选择器的优先级问题,这里就CSS选择器的优先级问题做了一些总结. 选择器种类 严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和ID选择器.而所谓的后代选择器和群组选择器只不过是对前三种选择器的扩展应用.而在标签

详解CSS选择器、优先级与匹配原理

最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选择器有以下五类: 一.标签选择器: 顾名思议,标签选择器是直接将HTML标签作为CSS选择器,可以是p.h1.dl.strong等HTML标签.如: p{font:12px;} em{color:blue;} dl{float:left;margin-top:10px;} 二.id选择器: 我们通常

web(八)CSS选择器

标签选择器 使用html标签筛选需要渲染的网页元素. 使用场景 修改标签的默认样式,例如ul li 有默认的内边距,开发时应去掉标签的默认样式. 设定全局字体样式. 根据分辨率设定html标签的默认字体. div {/*直接用标签作为选择器*/ background-color: yellow; } 类选择器 为一组样式属性进行命名(类名),标签使用时需要声明,使用频率最多的选择器. 类选择器的特点 多个标签可以引用同一个样式类,提高程序的公用性. 通过语义化的类名定义增加了程序可读性. 标签可

CSSd的优先级别

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>选择器的优先级别</title> <!-- CSS样式遵循的原则 1.相同类型的选择遵循就近原则,叠加原则 2.不同类型的选择器拥有优先级别: important > 内联 > id选择器 > 类 \标签选择器 |伪类 |属性选择 |伪元

CSS选择器、优先级与匹配原理

polaris不是前台开发人员,然而作为一个Web开发者,掌握必要的前台技术也是很重要的.说实话,polaris对前台技术还是蛮感兴趣的,只是一直没有用心系统的学过,所以了解的知识有点杂.这篇文章是polaris通过网上的一些知识结合自己的问题做的一些总结,一来当作笔记,二来希望能够对初学者有点帮助. 今天在修改博客时,遇到了一个问题:给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通过Firebug查看,发现没有起作用的属性被覆盖了(呵呵,废话,要不然不会

css样式、选择器规则

css:页面样式,美化页面 css样式的三个规则 1内联式:直接写在html标签中 <p style="color:red"> 直接对html标签使用 style属性 语法:style="样式:值 样式:值" 优点:操控精准 缺点:不灵活,代码 2嵌入式:在<style>标签内给标签css样式 在head标签内 <style type=text/css> 优点:代码精简 缺点:控制不灵活 3外部式:建立单独的 .css文件 使用&