转自:http://www.cnblogs.com/libingql/p/4375354.html

1. CSS1定义的选择器

选择器 类型 说明
E 类型选择器 选择指定类型的元素
E#id ID选择器 选择匹配E的元素,且匹配元素的id为“id”,E选择符可以省略。
E.class 类选择器 选择匹配E的元素,且匹配元素的class属性值为“class”,E选择符可以省略。
E F 包含选择器 选择匹配F的元素,且该元素被包含在匹配E的元素内。
E:link 链接伪类选择器 选择匹配E的元素,且匹配元素被定义了超链接并未被访问。例:a:link
E:visited 链接伪类选择器 选择匹配E的元素,且匹配元素被定义了超链接并已被访问。例:a:visited
E:active 用户操作伪类选择器 选择匹配E的元素,且匹配元素被激活
E:hover 用户操作伪类选择器 选择匹配E的元素,且匹配元素正被鼠标经过
E:focus 用户操作伪类选择器 选择匹配E的元素,且匹配元素获取了焦点
E::first-line 伪元素选择器 选择匹配E元素内的第一行文本
E::first-letter 伪元素选择器 选择匹配E元素内的第一个字符

2. CSS2定义的选择器

选择器 类型 说明
* 通配选择器 选择文档中所有元素
E[foo] 属性选择器 选择匹配E的元素,且该元素定义了foo属性。E选择符可以省略,表示选择定义了foo属性的任意类型的元素。
E[foo="bar"] 属性选择器 选择匹配E的元素,且该元素foo属性值为“bar”
E[foo~="bar"] 属性选择器 选择匹配E的元素,且该元素定义了foo属性,foo属性值是一个以空格符分隔的列表,其中一个列表的值为“bar”,E选择符可以省略。
E[foo!="en"] 属性选择器 选择匹配E的元素,且该元素定义了foo属性,foo属性值是一个用连字符(-)分隔的列表,值以“en”开头。
E:first-child 结构伪类选择器 选择匹配E的元素,且该元素为父元素的第一个子元素
E::before 伪元素选择器 在匹配E的元素前面插入内容
E::after 伪元素选择器 在匹配E的元素后面插入内容
E > F 子包含选择器 选择匹配F的元素,且该元素为所匹配E元素的子元素。
E + F 相邻兄弟选择器 选择匹配F的元素,且该元素为所匹配E元素后面相邻的位置。

3. CSS3新增属性选择器

选择器 类型 说明
E[foo^="bar"] 属性选择器 选择匹配E的元素,且该元素定义了foo属性,foo属性值以“bar”开始。E选择符可以省略,表示可匹配任意类型的元素。
E[foo$="bar"] 属性选择器 选择匹配E的元素,且该元素定义了foo属性,foo属性值以“bar”结束。E选择符可以省略,表示可匹配任意类型的元素。
E[foo*="bar"] 属性选择器 选择匹配E的元素,且该元素定义了foo属性,foo属性值包含“bar”。E选择符可以省略,表示可匹配任意类型的元素。

4. 结构伪类选择器

  结构伪类利用DOM实现元素过滤,通过DOM的相互关系来匹配特定的元素,减少文档内对class属性和ID属性的定义,使得文档更加简洁。

选择器 说明
E:root 选择匹配E所在文档的根元素。在(X)HTML文档中,根元素就是html元素,此时该选择器与html类型选择器匹配的内容相同。
E:nth-child(n) 选择所有在其父元素中第n个位置的匹配E的子元素。
注意,参数n可以是数字(1、2、3)、关键字(odd、even)、公式(2n、2n+3)参数的索引从1开始。
tr:nth-child(3)匹配所有表格中第3排的tr;
tr:nth-child(2n+1)匹配所有表格的奇数行;
tr:nth-child(2n)匹配所有表格的偶数行;
tr:nth-child(odd)匹配所有表格的奇数行;
tr:nth-child(even)匹配所有表格的偶数行;
E:nth-last-child(n) 选择所有在其父元素中倒数第n个位置的匹配E的子元素
E:nth-of-type(n) 选择父元素中第n个位置,且匹配E的子元素。
注意,所有匹配E的子元素被分离出来单独排序。非E的子元素不参与排序。参数n可以是数字,关键字、公式。
例:p:nth-of-type(1)
E:nth-last-of-type(n) 选择父元素中倒数第n个位置,且匹配E的子元素。
E:last-child 选择位于其父元素中最后一个位置,且匹配E的子元素。
E:first-of-type 选择位于其父元素中且匹配E的第一个同类型的子元素。
该选择器的功能类似于 E:nth-of-type(1)
E:last-of-type 选择位于其父元素中且匹配E的最后第一个同类型的子元素。
该选择器的功能类似于 E:nth-last-of-type(1)
E:only-child 选择其父元素只包含一个子元素,且该子元素匹配E。
E:only-of-type 选择其父元素只包含一个同类型的子元素,且该子元素匹配E。
E:empty 选择匹配E的元素,且该元素不包含子节点。

5. UI状态伪类选择器

选择器 说明
E:enabled 选择匹配E的所有可用UI元素。
E:disabled 选择匹配E的所有不可用UI元素。
E:checked 选择匹配E的所有可用UI元素。
例:input:checked匹配input type为radio及checkbox元素

6. CSS3其他选择器

选择器 说明
E~F 通用兄弟元素选择器类型。
选择匹配F的所有元素,且匹配元素位于匹配E的元素后面。
在DOM结构树中,E和F所匹配的元素应该在同一级结构上。
E:not(s) 否定伪类选择器类型。
选择匹配E的所有元素,且过滤掉匹配s选择符的任意元素。
s是一个简单结构的选择器,不能使用符合选择器,
E:target 目标伪类选择器类型。
选择匹配E的所有元素,且匹配元素被相关URL指向。
注意:该选择器是动态选择器,只有存在URL指向该匹配元素时,样式才起效果。
例:demo.html#id

CSS选择器及CSS3新增选择器的更多相关文章

  1. CSS系列:CSS3新增选择器

    1. CSS1定义的选择器 选择器 类型 说明 E 类型选择器 选择指定类型的元素 E#id ID选择器 选择匹配E的元素,且匹配元素的id为“id”,E选择符可以省略. E.class 类选择器 选 ...

  2. 认识CSS3新增选择器和样式

    前端之HTML5,CSS3(二) CSS3新增选择器和样式 CSS3新增选择器 结构伪类选择器 :first-child:选取父元素中的第一个子元素的指定选择器 :last-child:选取父元素中的 ...

  3. CSS3 新增选择器

    CSS3 新增选择器 结构(位置)伪类选择器(CSS3) :first-child :选取属于其父元素的首个子元素的指定选择器 :last-child :选取属于其父元素的最后一个子元素的指定选择器 ...

  4. CSS3–1.css3 新增选择器

    1.后代级别选择器 2.同辈级别选择器 3.伪类选择器 4.属性选择器 5.UI伪类选择器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T ...

  5. CSS3选择器02—CSS3部分选择器

    该部分主要为CSS3新增的选择器 接上一篇 CSS(CSS3)选择器(1) 一.通用兄弟选择器: 24:E ~ F,匹配任何E元素之后的同级F元素. div ~ p{ background-color ...

  6. 利用css3新增选择器制作背景切换

    之前写css3的时间都是捡项目需要的来用,没有系统的学习过,这几天好好的补了一下css3的知识,真的获益匪浅!觉得新增的那些选择器是有用至极的!今天就来所这几天的所学做一个点击标签切换背景的效果,是纯 ...

  7. CSS3新增选择器:伪元素选择器

    一.  ::first-letter 第一个字 二. ::first-line 第一行(以浏览器为准的第一行) 三. ::selection 被选中的字行(鼠标选中的字段)只能向 ::selectio ...

  8. css3新增选择器

    1. img[alt]:匹配页面标签中任意一个含有alt属性的标签 2. 匹配开头:img[alt^="film"] 匹配包含内容:img[alt*="film" ...

  9. CSS3 新增选择器:伪类选择器和属性选择器

    一.结构(位置)伪类选择器( : ) 1.:first-child 2.:last-child 3.:nth-child(n)或者:nth-child(2n)或者:nth-child(2n+1) &l ...

随机推荐

  1. react项目中引入百度地图打包报错问题

    一.我正常引入百度地图,调试时候是好使的,但是打包时候就报错 引入方法如下: 报错如图 正常调试是好使的,但是打包报这个错,解析不了这个BMap,那么怎么办呢? 然后我就转用了window办法,虽然因 ...

  2. kylin实战系列(一)

    kylin实战系列(一) 把之前kylin的实践小结一下,以备以后查看.

  3. 安装sql server

    因为电脑中只有mysql数据库,所以昨天准备安装一个sql server.安装中出现了许多问题,首先第一遍的时候,安装组件中没有勾选管理工具这个选项,所以在最后的时候,文件夹中只有配置管理器,没有数据 ...

  4. MSSQL如何查看当前数据库的连接数 【转】

    - [SQL Server]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://ai51av.blogbus.com/logs/52955622.html   如果我们发布 ...

  5. ethtool speed HowTo : Change Speed and Duplex of Ethernet card in Linux

    To change Speed and Duplex of an ethernet card, we can use ethtool - a Linux utility for Displaying ...

  6. 【个人训练】(POJ1837)Balance

    这几天抓住国庆的黄金时间(因为没有女朋友,天天刷题emmmm 其实还在肝少前还要捞秋刀鱼) ,重点攻克掉几个基本的地方:搜索.dp.图论.这几天的题目应该就是这些范围. 题意 原题的意思大概是这样的, ...

  7. 第一篇 Postman的初级使用之设置环境快速切换生成环境与测试环境

    POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的 ...

  8. 基于eth快速发行自己的数字货币

    我们总在寻觅,也不断迷失. 像一颗飘摇的韭菜,彷徨而又无奈,无奈又彷徨. 如果你问我未来,我不知去向何方 我只知道生长,恣意野蛮. 我们不断在追寻一款爆款的项目,一个百倍币千倍币,却没有想到,实际上做 ...

  9. UVA 11297 Census(二维线段树)

    Description This year, there have been many problems with population calculations, since in some cit ...

  10. DFS(7)——poj1011Sticks

    一.题目回顾 题目链接:Sticks 题意:给出一定数量的小木棒的长度,它是由等长的若干木棒随意砍断所得到的.对于给定的一组小木棒,请求出原始木棒的最小长度. 二.解题思路 DFS+剪枝 本题剪枝不到 ...