【CSS】选择器优先级
CSS的选择器优先级的权重
在 Selectors Level 3 规范中,一个选择器的优先级(权重)由依次串联的a、b、c三个标记来计算
a: ID选择器 如#header
b: class选择器如.header 属性选择器如[title] 伪类如:link
c: 标签选择器如h1 伪元素选择器如::after
注意:伪类:not不参与优先级的计算
一些例子
只要一个选择器的 a>0,b=0,即使另外一个选择的a=0, b=161,那么前者的权重依然更大。
a:link{
color: red; /* 优先级:a=0,b=1,c=1 */
}
.test{
color: yellow; /* 优先级:a=0,b=1,c=0 */
}
他们的权重(优先级)b是相等的,但是c标记中,前者大于后者,所以最终「a:link」生效显示为红色。
:not() 不参与优先级的计算 但()里面的选择器要计算在内
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS Selectors Level</title>
<style type="text/css">
.inner:not(.outer) p {
color: red;
}
.outer .inner p {
color: orange;
}
</style>
</head>
<body>
<div class="outer">
<p>outer</p>
<div class="inner">
<p>inner</p>
</div>
</div>
</body>
</html>
这个inner会显示orange 因为两个优先级相同,下面的会覆盖上面的
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS Selectors Level</title>
<style type="text/css">
.inner:not(#outer) p {
color: red;
}
.outer .inner p {
color: orange;
}
</style>
</head>
<body>
<div class="outer">
<p>outer</p>
<div class="inner">
<p>inner</p>
</div>
</div>
</body>
</html>
而这个例子会显示蓝色,上面的:not()内的id选择器也要计算在内
参考链接:
1.知乎的讨论:http://www.zhihu.com/question/21777264
2.某博客:http://www.clanfei.com/2013/11/1731.html
【CSS】选择器优先级的更多相关文章
- 关于Css选择器优先级
今天练习css的时候,重叠后的style发现不起作用,原来css选择器优先级大有文章. 声明: yi下内容选自 51cto.com --加以自己的理解 以备日后参照使用,毕竟自己理解的才是自己的. ...
- 深入理解CSS选择器优先级
题外话 今天把 <CSS REFACTORING>(中文名叫<CSS重构:样式表性能调优>)电子书粗略的浏览了一遍,这本书很薄,150页左右,首先是介绍了什么是重构并举了两个简 ...
- CSS选择器优先级(转)
原文:http://www.cnblogs.com/wangfupeng1988/p/4285251.html 另外,w3c有文章介绍了CSS选择器的特定性,见https://www.w3.org/T ...
- day44:CSS选择器优先级&JS基础
目录 1.CSS选择器优先级 2.补充:margin是可以设置百分比的 3.JS 3.1 js代码的引入方式 3.2 变量 3.3 数据类型 3.4 数组(类似于python中的列表) 3.5 自 ...
- 看完就懂--CSS选择器优先级的计算
CSS选择器优先级的计算 什么是选择器的优先级 优先级的计算与比较(一) - 优先级具有可加性 - 选择器优先级不会超过自身最大数量级 - 同等优先级情况下,后写的覆盖前写的 - 并集选择器之间的优先 ...
- CSS选择器优先级总结
CSS三大特性-- 继承. 优先级和层叠. 继承:即子类元素继承父类的样式; 优先级:是指不同类别样式的权重比较; 层叠:是说当数量相同时,通过层叠(后者覆盖前者)的样式. css选择符分类 首先来看 ...
- CSS选择器优先级 CSS权值
计算指定选择器的优先级:重新认识CSS的权重 标签的权值为 0,0,0,1 类的权值为 0,0,1,0 属性选择的权值为 0,0,1,1 ID的权值为 0,1,0,0 important的权值为最高 ...
- 深入理解CSS选择器优先级的计算
选择器的优先级关系到元素应用哪个样式.在CSS2.1的规范(http://www.w3.org/TR/2009/CR-CSS2-20090908/cascade.html#specificity)中是 ...
- 导航栏布局时遇到的问题以及解决办法 css选择器优先级
得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下 ...
- 前端CSS css引入方式 css选择器 css选择器优先级
一. CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表 ...
随机推荐
- 容斥原理+补集转化+MinMax容斥
容斥原理的思想大家都应该挺熟悉的,然后补集转化其实就是容斥原理的一种应用. 一篇讲容斥的博文https://www.cnblogs.com/gzy-cjoier/p/9686787.html 当我们遇 ...
- jquey弹出框demo
默认 $('#btn-01').click(function(){ $.dialog({ contentHtml : '<p>我是默认弹出对话框示例展示.我只是用来占位的内容展示,仅仅用来 ...
- 转载 jQuery实现放大镜特效
效果图. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- GCC -l选项:手动添加链接库
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...
- 【串线篇】REST风格的请求格式
1.什么是rest 答出这两点就够了: 1.1 统一接口 rest其实是基于HTTP的,四种方式. RESTful架构风格规定,数据的元操作,即CRUD(create, read, update和de ...
- 浅谈CICD持续集成、持续部署的流程(转)
Jenkins是一个比较流行的持续集成工具GitLab是存储镜像的镜像仓库由客户端将代码push推送到git仓库,gitlab上配置了一个webHook的东西可以触发Jenkins的构建.进入到Jen ...
- Python星号表达式提取数据
def drop_first_last(grades): first,*middle,last=grades return middle 这段代码的作用是grades中的元素,第一个和最后一个分别被提 ...
- 理解CSV格式规范(解析CSV必备)
什么是CSV逗号分隔值(Comma-Separated Values,CSV),其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录.每个记录由一个或多个字段组成,用逗号分隔.使 ...
- vue 前后端数据交互问题解决
先在vue项目中配置好路由组件路由 然后写相应组件 2 后端 写接口赔路由 第三 解决跨域问题 处理数据交互 这样前端就拿到了数据
- win7 SP1 原版 32位 百度网盘下载
下载地址:https://pan.baidu.com/s/1o6I410XduG1kcmn9vQ3miw 提取码:15vm 扫码下载: