CSS有三个非常重要的特性:层叠性、继承性、优先级

对优先级的一些理解:

当同一个元素指定多个选择器,就会有优先级的产生。

  • 选择器相同,则执行层叠性
  • 选择器不同,则根据选择器权重执行

选择器权重如下表所示:

选择器 选择器权重
继承或者*(通配符) 0,0,0,0
元素选择器 0,0,0,1
类选择器,伪类选择器 0,0,1,0
ID选择器 0,1,0,0
行内样式style="" 1,0,0,0
!important重要的 ∞无穷大

优先级注意点:

  1. 权重是有4组数字组成,但是不会有进位!(例如一个并集选择器中,由十个标签选择器组成,不及一个类选择器的权重大)。
  2. 可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器,以此类推。
  3. 等级判断从左向右,如果某一位数值相同,则判断下一位数值。
  4. 注意,可以简单记忆成,通配符和继承的权重为0,标签(元素)选择器的权重为1,类(伪类)选择权重为10,id选择器权重为100,行内样式表权重为1000,!important权重无穷大
  5. 继承的权重是0,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重都是0

权重叠加:

如果是复合选择器,则会有权重叠加,需要计算权重。

举几个例子:

  • div ul li        ---------->      0,0,0,3
  • .nav ul li      ---------->      0,0,1,2
  • a:hover       ---------->      0,0,1,1
  • .nav a         ---------->      0,0,1,1

具体练习一下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 继承的权重为0 */.nav {color: red;}/* 元素选择器权重为1  因此会显示绿色 */li {color:green;}</style>
</head>
<body><ul class="nav"><li>11111</li><li>22222</li><li>33333</li><li>44444</li></ul>
</body>
</html>

效果为:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* .nav li 权重为11 */.nav li{color: red;}/* 需求把第一个小li  颜色改为绿色 加粗 *//* .green权重为10 不可行  .nav .green  权重为20 因此会显示绿色加粗 */.nav .green {color:green;font-weight:700;}</style>
</head>
<body><ul class="nav"><li class="green">11111</li><li>22222</li><li>33333</li><li>44444</li></ul>
</body>
</html>

效果为:

CSS优先级的一些理解相关推荐

  1. 深入理解css优先级

    为什么要写这篇文章是因为 <style type="text/css"> body h1 {color: green; } html h1 {color: purple ...

  2. css就近原则_「Web前端开发进阶篇」CSS优先级

    所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序.既然样式有优先级,那么就会有一个规则来约定这个优先级,而这个"规则"就是重点. [引言] 讲解完这篇CSS优先级的文章 ...

  3. CSS优先级算法浅谈

    转自:微点阅读  https://www.weidianyuedu.com 在面试之前对css优先级的理解是 :ID优先级>class>元素选择器,外联样式优先级低于内联样式,内联样式优先 ...

  4. css对应的优先级,新手学习css优先级

    css不是一种程序语言,而是一种描述语言.因此,可以说,css理解起来是非常容易的,大部分人通过简单的学习就可以懂得如何写css代码来定义网页的样式.但是,大部分人同样也会在写css的过程中产生很多困 ...

  5. CSS三大特性(CSS层叠性、CSS继承性、CSS优先级)

    1. CSS层叠性 层叠性是指多种CSS样式的叠加. 原则: 样式冲突,遵循的原则是就近原则. 那个样式离着结构近,就执行那个样式. 样式不冲突,不会层叠 示例代码: <!DOCTYPE htm ...

  6. day4(css优先级)

    参考博客: http://www.cnblogs.com/yuanchenqi/articles/6856399.html css属性选择器 <!DOCTYPE html> <htm ...

  7. CSS优先级算法是如何计算?

    CSS的specificity特性或非凡性,它是一个衡量css优先级的一个标准, 既然的标准就有判定规定和计算方式,specificity用一个四位数来表示, 更像四级从左到右,左的最大级,一级大于一 ...

  8. css优先级计算规则

    2019独角兽企业重金招聘Python工程师标准>>> 最近面试了一些求职者,我问css优先级计算规则是怎样的?答曰ID优先级>class>元素选择器,外联样式优先级低于 ...

  9. 详细解读CSS优先级——Web前端系列学习笔记

    文章目录 样式优先级 选择器的优先级 总结 样式优先级 CSS优先级即是指CSS样式在浏览器中被解析的权重不同. 多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于 ...

最新文章

  1. 当引用com类dll时,在VS2005下会出现,dll虽然更换了但是引用没有更换或找不到的错误
  2. MySQL导出表结构相关字段以及把字段由下划线转驼峰命名
  3. 强烈推荐:程序员必备的两个超级工具,一个是百宝箱,一个是百宝库
  4. 【线段树】二进制(luogu 4428)
  5. mysql改原始密码mac_MAC版修改MySQL初始密码的方法
  6. 有的时候看项目,和创业者交流,发现他们的企业
  7. jvm压缩指针原理以及32g内存压缩指针失效详解
  8. CodeVs天梯黄金Gold题解
  9. Visual Studio 2019 创建第一个ASP.net web应用程序
  10. Android 集成微信h5支付
  11. postsql密码修改
  12. C语言程序员面试100题,c语言面试最必考的十道试题,求职必看!!!
  13. 【供应链架构day10】供应链架构的基础逻辑
  14. vue使用甘特图(实现树形结构/一条数据显示双时间轴)
  15. tf.contrib.layers.embed_sequence()函数
  16. 论文阅读报告:Taxonomy-aware feature engineering for microbiome classification,Mai Oudah and Andreas Hen
  17. python构建决策引擎_决策引擎与机器学习模型的集成 | 信数这么干(一)
  18. php本地文件包含 截断,php远程文件包含截断问题
  19. 教你如何申请个人域名
  20. linux中有一个备份程序,技术|SBackup: 一个Linux下的简单备份软件

热门文章

  1. 哈工大软件构造期末复习
  2. 开封机器人餐厅_开封食品分拣机器人
  3. 数据库作业15:第六章: 关系数据理论 总结+习题
  4. 仿支付宝支付成功控件
  5. M1卡一卡一密码的自动化实现
  6. DDF (Diamond Directive File)文件
  7. 局域网限速软件_卸载那些垃圾的文件传输软件吧,这里有全平台全网络不限文件大小的传输神器...
  8. 淘宝AR直播功能上线,看阿里如何玩转虚拟购物
  9. Spark数据挖掘-基于 K 均值聚类的网络流量异常检测(1): 数据探索、模型初探
  10. 《数据挖掘概念与技术》第二版 中文版 第一章答案