浅谈css选择器

1、css选择器分类

这里写图片描述

2、选择器语法

一、基本选择器语法css

选择器 类型 功能描述
* 通配选择器 选择文档中的全部HTML元素,如:*{margin:0}
E 元素选择器 选择指定类型的HTML元素,如:p{font-size:16px}
id ID选择器 选择指定ID属性值为’id’的任意类型元素,如: #myDiv:{width:200px}
.class 类选择器 选择指定class属性值为’class’的任意类型的任意多个元素,如:.red{color:red}
selector1,selectorN 群组选择器 将每个选择器匹配的元素集合,如:p,div{color:red}



二、层次选择器html

选择器 类型 功能描述
E F 后代选择器 该选择器定位元素E的后代中全部元素F,如: ul li{color:red}
E>F 子选择器 该选择器定位元素E的直接子元素中的全部元素F
E+F 相邻兄弟选择器 该选择器定位与元素E有相同父元素且紧邻元素E的元素F
E~F 通常兄弟选择器 该选择器定位与元素E有相同父元素且位于E以后的全部元素F



三、动态伪类选择器浏览器

选择器 类型 功能描述
E:link 连接伪类选择器 该选择器匹配元素E被定义了超连接并未被访问过。经常使用于连接描点上
E:visited 连接伪类选择器 该选择器匹配元素E被定义了超连接并已被访问过。经常使用于连接描点上
E:active 用户行为选择器 该选择器匹配元素E被被激活。经常使用于连接描点和按钮上
E:hover 用户行为选择器 该选择器匹配元素E且用户鼠标停留在元素E上。IE6及如下浏览器仅支持a:hover
E:focus 用户行为选择器 该选择器匹配元素E且并且匹配元素获取焦点

注:a:hover 必须位于 a:link 和 a:visited 以后,a:active 必须位于 a:hover 以后 


四、目标伪类选择器spa

选择器 功能描述
E:target 该选择器匹配相关URL指向的E元素



五、UI元素状态伪类选择器code

选择器 类型 功能描述
E:checked 选中状态伪类选择器 匹配选中的复选按钮或者单选按钮表单元素
E:enabled 启用状态伪类选择器 匹配全部启用的表单元素
E:disabled 不可用状态伪类选择器 匹配全部禁用的表单元素



六、结构伪类选择器htm

选择器 功能描述
E:fisrt-child 父元素的第一个子元素E,与:nth-child(1)相同;
E:last-child 父元素的倒数第一个子元素E
E:root 根元素,始终指html元素;
E F:nth-child(n) 该选择器定位元素E的第n个子元素的元素F:
E F:nth-last-child(n) 该选择器定位元素E的倒数第n个子元素的元素F;
E:nth-of-type(n) 该选择器定位元素E的第n个指定类型子元素;
E:nth-last-of-type(n) 该选择器定位元素E的导数第n个指定类型子元素:
E:first-of-type 与:nth-of-type(1)相同;
E:last-of-tye 与:nth-last-of-type(1)相同;
E:only-child 父元素中惟一的子元素E
E:only-of-type 父元素中惟一具备该类型的元素E;
E:empty 没有子元素的元素,没有子元素包括文本节点;

注::nth-child(odd) 选择的是奇数项,而使用:nth-last-child(odd) 选择的倒是偶数项 


七、否认伪类选择器图片

选择器 功能描述
E:not(F) 匹配全部除元素F外的E元素



八、属性选择器文档

选择器 功能描述
E[attr] 该选择器定位具备属性attr的任何元素E;
E[attr=value] 该选择器定位具备属性attr且属性值为value的任何元素E;
E[attr =value]
E[attr^=value] 该选择器定位具备属性attr且属性值以value开头的任何元素E;
E[attr*=value] 该选择器与E[attr~=value]类似,但更进一步,定位具备属性attr且属性值任意位置包含val的元素E,value能够是一个完整的单词,也能够是一个单词中的一部分;
E[attr$=value] 该选择器与E[attr^=value]正好相反,定位具备属性attr且属性值以value结尾的任何元素E;
E[attr~=value] 该选择器定位具备属性attr且属性值为完整单词 value 的任何元素E;



九、伪元素get

选择器 功能描述
:first-line 匹配文本首行;
:first-letter 匹配文本首字母;
:before 与:after 使用 contnet 属性生成额外的内容并插入在标记中;
:selection 匹配突出显示的文本;
相关文章
相关标签/搜索