选择器优先级_CSS选择器优先级指北
相信大部分人刚开始写 css 的时候应该碰到过这样的问题。
明明只改了一行样式,然后整个页面就变成了这样↓
本文将小节一下 css的优先级,帮助解决碰到的样式重叠 优先度问题,这部分也是面试中常出现的考题。要搞清楚选择器的优先级,先列举下所有选择器
选择器类型
1.ID 选择器,如 #id2.类选择器,如 .class3.属性选择器,如 [type="input"]4.伪类选择器,如 :hover5.标签选择器(类型选择器),如 div6.伪元素选择器,如 ::before7.通配选择符 *{} 、 关系选择符 ( ,>,~,' ',||) 、 否定伪类 (:not())
摘自 css 优先级|MDN https://developer.mozilla.org/zh-CN/docs/Web/CSS/Specificity
优先级
优先级按从高到低依次为:
1.!important 例外规则。当在一个样式声明中使用一个 !important 规则时,此声明将覆盖任何其他声明
2.内联样式
3.ID 选择器
4.类选择器、属性选择器、伪类选择器
5.类型选择器(标签选择器)、伪元素选择器6.通配选择符
计算方式
参考 W3C :
https://www.w3.org/TR/selectors/#specificity
如果选择器是一个选择器列表,则累加。*{} 是通配选择符,表示 (0,0,0)ul li{} 有两个标签选择器,所以表示 (0,0,2)ul ol li 有三个标签选择器,表示 (0,0,3)ul ol li.red 有三个标签选择器和一个类选择器,所以表示 (0,1,3):not(em, strong#foo) 有一个ID 选择器和一个标签选择器,所以表示 (1,0,1)其他就不一一介绍了。。。
错误的说法
在学习过程中,你可能发现给选择器加权值的说法,即 ID 选择器权值为 100,类选择器权值为 10,标签选择器权值为 1,当一个选择器由多个 ID 选择器、类选择器或标签选择器组成时,则将所有权值相加,然后再比较权值。
这种说法其实是有问题的。
比如一个由 11 个类选择器组成的选择器和一个由 1 个 ID 选择器组成的选择器指向同一个标签,按理说 110 > 100,应该应用前者的样式,然而事实是应用后者的样式。
错误的原因是:选择器的权值不能进位。还是拿刚刚的例子说明。11 个类选择器组成的选择器的总权值为 110,但因为 11 个均为类选择器,所以其实总权值最多不能超过 100, 你可以理解为 99.99,所以最终应用后者样式。
写完了,各位看官给个赞再走吧。
极客写文章,你们看极客每天转载优质内容,你们来看我就好了!我们的口号是:信极客,没bug!
更多极客视频教程,
点个在看支持我吧
选择器优先级_CSS选择器优先级指北相关推荐
- html5复合选择器,web前端练习31----Css,选择器(基本选择器,复合选择器,属性选择器,伪类,伪元素,优先级,雪碧图练习)...
参考文档:https://man.ilovefishc.com/css3/ 一.基本选择器: 1通配符选择器 * 2元素选择器 element 3类选择器 .class 4id选择器 #id 5内联样 ...
- html中基本选择器的优先级,CSS_CSS中的各种选择器与样式优先级小结,优先级:由高到低(从上到下)- phpStudy...
CSS中的各种选择器与样式优先级小结 优先级:由高到低(从上到下) !important 内联(1,0,0,0) id: (0,1,0,0) 类:(0,0,1,0) 伪类/属性 元素:(0,0,0,1 ...
- html盒子优先级设置,CSS 基础(盒模型、选择器、权重、优先级)
层叠样式表(Cascading Style Sheets) 盒模型 盒模型包含四部分:margin.border.padding.content.如果不使用doctype声明,浏览器默认使用自己的模式 ...
- CSS选择器(id选择器,包含选择器,标签名选择器,类选择器,属性选择器,通配符选择器,伪类选择器,相邻选择器,选择器的优先级,子选择器)
CSS选择器 HTML:定义网页元素 CSS:美化网页元素,控制HTML标签展示样式 CSS与HTML相结合,结合方式如下: (1)内联样式:CSS代码复用性太低,书写凌乱,不推荐,缺点就是一次只能控 ...
- 选择器的分类及其优先级
选择器 1) 基本选择器 标签选择器 含义:根据指定的标签名,在当前文件中找到所有该名称的标签,设置属性 格式: 标签名 { 样式名:样式值 } 注意: 1. 标签选择器选中的是当前文件中所有的标签, ...
- CSS css选择器 jquery jQuery选择器的优先级 XXX XX X xxx xx x
CSS css选择器 jquery jQuery选择器的优先级 XXX XX X xxx xx x 行间选择器 id选择器 类选择器 元素选择器 通配符选择器
- 前端学习笔记:CSS3选择器的继承、优先级和重要性
一.样式的继承 1.什么叫"继承"? 继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代. 比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p ...
- CSS选择器权重计算与优先级
CSS选择器权重计算与优先级 选择器有优先级,可以通过权重来计算优先级. 一:优先级 等级划分: 第一优先级:css属性+!important是一种强制改变优先级的方法,它会覆盖页面内任何位置定义的元 ...
- html5选择器优先级,css选择器优先级怎么比较
css选择器优先级怎么比较 CSS选择器中比较常见的有标签选择器.ID选择器.类选择器以及子选择器.而事实上,CSS选择器如果细分下来,竟然多达40多种.那他们的优先级该怎么比较呢,下面就来看看吧. ...
最新文章
- python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等)
- 执行umount 的时候却提示:device is busy 的处理方法
- 关于jQuery对象与DOM对象
- 算法题目——杨辉三角问题
- pytorch神经网络因素预测_实战:使用PyTorch构建神经网络进行房价预测
- c++实现双向链表操作
- python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学
- 用R语言实现信息度量
- [导入]VB程序中处理随机事件
- Camera service服务启动流程
- MySQL 主从幂等复制slave_exec_mode=IDEMPOTENT
- YGG 联合创始人 Gabby Dizon 在 Neckerverse 峰会上分享边玩边赚的故事
- 自定义Unity在iOS平台上的虚拟键盘
- 红米android10参数,红米10x5g手机参数红米10x5g手机参数有哪些
- html 取消回车,java去除html回车换行
- 使用keras-bert进行中文文本分类+Google colab运行源码
- 使用Java 编写将阿拉伯数字转为中文数字的代码
- CAN通信----(创芯科技)CAN分析仪使用----CANTest安装和驱动安装
- 台球游戏问题C++语言
- POI解析文档内容(txt,doc,docx,xls,xlsx,ppt,pdf)