CSS 选择器及其优先级
CSS 的选择器有很多类型,我们将常用的这些列表如下:
一、CSS 选择器的类别
1. 基本选择器
| 基本选择器 | 解释 | 备注 |
| * | 通用选择器,匹配所有元素 | CSS2 |
| E | 元素选择器,匹配类型为 E 的所有元素 | CSS1 |
| .foo | 类选择器,匹配 class 属性包含 "foo" 的所有元素 | CSS1 |
| #bar | ID 选择器,匹配 id 属性等于 "bar" 的惟一元素 | CSS1 |
2. 组合选择器
| 组合选择器 | 解释 | 备注 |
| E, F | 多元素选择器,匹配 E 和 F | CSS1 |
| E F | 后代选择器,匹配 E 的后代 F | CSS1 |
| E > F | 子元素选择器,匹配 E 的子元素 F | CSS2 |
| E + F | 相邻选择器,匹配紧随 E 元素的同级元素 F | CSS2 |
3. 属性选择器
| 属性选择器 | 解释 | 备注 |
| E[att] | 匹配拥有 attr 属性的所有 E 元素 | CSS2 |
| E[att=val] | 匹配 attr 属性等于 val 的所有 E 元素 | CSS2 |
| E[att~=val] | 匹配 attr 属性包含 val 值的所有 E 元素,各个值用空格隔开 | CSS2 |
| E[att|=val] | 匹配 attr 属性包含 val 值的所有 E 元素,各个值用连字号隔开 | CSS2 |
4. 伪类选择器
| 伪类选择器 | 解释 | 备注 |
| E:hover | 匹配鼠标悬停其上的所有 E 元素 | CSS2 |
| E:focus | 匹配获得输入焦点的所有 E 元素 | CSS2 |
| E:active | 匹配处于活动状态的所有 E 元素 | CSS1 |
| E:link | 匹配未被访问的所有 E 链接 | CSS1 |
| E:visited | 匹配已被访问的所有 E 链接 | CSS1 |
| E:first-child | 匹配 E 元素的第一个子元素 | CSS2 |
5. 伪元素选择器
| 伪元素选择器 | 解释 | 备注 |
| E:before | 在 E 元素之前添加内容 | CSS2 |
| E:after | 在 E 元素之后添加内容 | CSS2 |
| E:first-line | 匹配 E 元素的第一行 | CSS1 |
| E:first-letter | 匹配 E 元素的首个字符 | CSS1 |
二、CSS 优先级的计算
CSS 样式的优先级由四个级别组成,它们分别是:
- 是否为标签中定义的样式
- ID 选择符的个数
- 类选择符,伪类选择符和属性选择符的个数
- 元素选择符和伪元素选择符的个数
在计算 CSS 样式的优先级时,根据这些级别和特殊情形依次比较:(A)!important 样式高于其它样式;(B)标签内定义的样式优先于 CSS 文件中定义的样式;(C)如果前面的优先级一样,则依次比较后面三个级别的数目,谁大谁优先;(D)继承得到的样式比非继承的低;(E)如果优先级都一样,则使用最后出现的样式。
参考资料:
[1] W3C CSS2 Selectors
[2] W3C CSS3 Selectors
[3] Selectors - Web developer guide | MDN
[4] CSS selectors - quirksmode.org
[5] CSS Properties & Selectors | CSS Creator
[6] Understanding CSS Selectors (Internet Explorer) - MSDN
[7] CSS Compatibility in Internet Explorer (Internet Explorer) - MSDN
[8] CSS选择器笔记 - 阮一峰的网络日志
[9] CSS选择器的浏览器支持 | 前端观察
[A] W3C CSS 2.1 - Calculating a selector's specificity
[B] Specifics on CSS Specificity | CSS-Tricks
[C] CSS优先级 - Rain Man - 博客园
CSS 选择器及其优先级的更多相关文章
- CSS选择器以及优先级与匹配原理
最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选 ...
- CSS选择器、优先级与匹配原理(转)
CSS选择器.优先级与匹配原理 导航 为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先 ...
- 详解CSS选择器、优先级与匹配原理
原文链接:http://polaris1119.javaeye.com/blog/764428 作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个 ...
- 转载:详解CSS选择器、优先级与匹配原
转载网址:http://polaris1119.javaeye.com/blog/764428 文章就CSS选择器的优先级问题做了一些总结,严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和 ...
- CSS选择器、优先级和匹配原理
作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...
- 详解CSS选择器、优先级与匹配原理【转】
作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...
- (转)css选择器及其优先级
文章主要介绍什么是CSS选择器,CSS选择器的分类以及CSS选择器的优先级三部分内容,希望能够帮助到正在学习CSS的童鞋,有什么不足的地方欢迎大家批评指正. 一.什么是CSS选择器? CSS选择器又被 ...
- CSS 选择器及优先级
CSS 选择器及优先级 1.根据权值计算 div .class1 #people的权值等于1+10+100=111 .class2 li #age的权值等于10+1+100=111 2.权值相同,那么 ...
- CSS选择器、优先级与匹配原理
为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先级:重新认识CSS的权重 标签的权值为 ...
- CSS选择器及其优先级
一:一些普通的选择器 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&quo ...
随机推荐
- Spring中argNames的含义
最近学习Spring,一直不太明白Srping的切面编程中的的argNames的含义,经过学习研究后,终于明白,分享一下 先看一个例子: 需要监控的类: package bean; public cl ...
- linux挂载详解
一 .linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上.目录提供了管理文件的一个方便而有效的途径. linux使用标准的目录结构,在安装的时候,安装程 ...
- range([start], stop[, step]):产生一个序列,默认从0开始
range([start], stop[, step]):产生一个序列,默认从0开始 >>> l = range(10) >>> l [0, 1, 2, 3, 4, ...
- POj 2186 Popular Cows[连通分量]
题目大意:给出N头牛,有M种关系u, v.代表u牛崇拜v牛.要求找出有多少头牛被所有牛崇拜着题目链接:http://poj.org/problem?id=2186解题思路:1>求出强连通分量,标 ...
- 一个字 word 是16位, 一个字由两个字节组成 , 字节=byte ,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit
一个字 word 是16位, 一个字由两个字节组成 , 字节=byte,,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit kbyte= k*byte
- MyGui 3.2.0(OpenGL平台)的编译(五篇文章)
MyGui是一个用来创建用户图形界面的库,用于游戏和3D应用程序.这个库的主要目标是达到:快速.灵活.易用. 1.下载准备: 源代码:http://svn.code.sf.net/p/my-gui/c ...
- 弱安全协议探测工具-sslciphercheck
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为 网络通信提供安全及数据完整性的一种安全协议.TLS ...
- linux设备驱动那点事儿之平台设备理论篇
一:Platform总线 1.1概述 一个现实的linux设备驱动通常需要挂接在一种总线上,对于本身依附于PCI,USB,IIC,SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SOC系统中 ...
- ERP 推式 拉式 工序拉式 装配拉式 倒冲
ERP 推式 拉式 工序拉式 装配拉式 倒冲 以上為生产订单(wip)中的原料供应方式,最常用的有Pull和Push. PULL即拉动方式: 拉式生产是生产为主,原材料是由专门的配送人员按 ...
- Android开发之BroadcastReceiver的使用
1.静态注册. 在manifest中注册. <receiver android:name="com.exce.learnbroadcastreceiver.MyReceiver&quo ...