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 ...
随机推荐
-
mybatis oracle insert 返回新增的主键值
<insert id="insertVmsTemplatePlayItem" parameterType="VmsTemplatePlayItem"> ...
-
opencv直方图均衡化
#include <iostream> #include "highgui.h" #include "cv.h" #include "cx ...
-
apache配置php
第一部分:安装apache 1 .安装apache软件,custom 选全部,安装目录为: F:\Apache2.2\ 2.默认为80端口(如冲突,要学会修改端口) 输入:http://localho ...
-
zznu 1073: 海军节上的鸣炮声计算
这是个一不留神就会出错的题目,首先大家可以想到在同一时间可能会有多个炮同时发射,不过观众只能听到一响,所以需要注意! 而且刚开始的时候所有的船都会发射一发,输入的a, b, c,都是时间间隔,
-
java基础值向上向下转型
1.父类引用可以指向子类对象,子类引用不能指向父类对象. 2.向上转型:子类引用的对象转换为父类类型称为向上转型,把子类对象直接赋给父类引用叫upcasting,向上转型不用强制转型(类似于低精度赋给 ...
-
关于C# XmlDocument方法Load加载流后自动释放流的解决方法
在实际应用doc.Load(Request.InputStream)的时候,doc.Load方法内置默认释放流 造成再次度Request.InputStream的时候,代码报错 替换方法: XmlDo ...
-
化繁为简(三)—探索Mapreduce简要原理与实践
目录-探索mapreduce 1.Mapreduce的模型简介与特性?Yarn的作用? 2.mapreduce的工作原理是怎样的? 3.配置Yarn与Mapreduce.演示Mapreduce例子程序 ...
-
Windows常用功能
删除文件或目录CMD命令: rd/s/q 盘符:\某个文件夹 (强制删除文件文件夹和文件夹内所有文件)del/f/s/q 盘符:\文件名 (强制删除文件,文件名必须加文件后缀名)
-
jquery简单使用入门
<!DOCTYPE html> <html> <head> <title>jquery</title> <meta charset=& ...
-
json.dumps(),json.loads(),json.dump(),json.load()方法的区别
1. json.dumps() json.dump()是将字典类型转化成字符串类型. import json dic = {'a':'1111','b':'2222','c':'3333','d':' ...