CSS选择器详解
1、元素选择器这是最基本的CSS选择器,HTML文档中的元素本身就是一个选择器:
2、关系选择器E F:后代选择器,该选择器定位元素E的后代中所有元素F:
E > F:子选择器,该选择器定位元素E的直接子元素中的所有元素F,它将忽略任何进一步的嵌套:
E + F:相邻兄弟选择器,该选择器定位与元素E具有相同父元素且在标记中紧邻E的元素F:
E ~ F:一般兄弟选择器,该选择器定位与元素E具有相同父元素且在标记中位于E之后的所有元素F:
3、属性选择器E[attr]:该选择器定位具有属性attr的任何元素E:
E[attr=val]:该选择器定位具有属性attr且属性值为val的任何元素E:
E[attr|=avl]:该选择器定位具有属性attr且属性值为val或以val-开始的任何元素E:
E[attr~=val]:该选择器定位具有属性attr且属性值为完整单词 val 的任何元素E:
E[attr^=val]:该选择器定位具有属性attr且属性值以val开头的任何元素E:
E[attr$=val]:该选择器与E[attr^=val]正好相反,定位具有属性attr且属性值以val结尾的任何元素E:
E[attr*=val]:该选择器与E[attr~=val]相似,但更进一步,定位具有属性attr且属性值任意位置包含val的元素E,val可以是一个完整的单词,也可以是一个单词中的一部分:
4、伪类:link:未访问的链接; :visited:已访问的链接,不建议使用; :hover:鼠标移动到容器,不仅限于链接,可用于页面中的任何元素; :active:被激活时的状态,不仅限于链接,可用于任何具有tabindex属性的元素; :focus:获得焦点时状态,不仅限于链接,可用于任何具有tabindex属性的无线:
:enabled:已启用的界面元素:
:disabled:已禁用的界面元素:
:target:该选择器定位当前活动页面内定位点的目标元素:
:default:应用于一个或多个作为一组类似元素中的默认元素的UI元素; :valid:应用于有效元素:
:invalid:应用于空的必填元素,以及未能与type或pattern属性所定义的需求相匹配的元素:
:in-range:应用于具有范围限制的元素,其中该值位于限制内;比如具有min和max属性的number和range输入框; out-of-range:与:in-range选择相反,其中该值在限制范围外; :required:应用于具有必填属性required的表单控件; optional:应用于没有必填属性required的所有表单控件 :read-only:应用于其内容无法供用户修改的元素; :read-write:应用于其内容可供用户修改的元素,比如输入框; :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-lash-of-type(n):该选择器定位元素E的导数第n个指定类型子元素:
E:first-child:父元素的第一个子元素E,与:nth-child(1)相同; E:last-child:父元素的倒数第一个子元素E; E:first-of-type:与:nth-of-type(1)相同; E:last-of-type:与:nth-last-of-type(1)相同; E:only-child:父元素中唯一的子元素E; E:only-of-type:父元素中唯一具有该类型的元素E; E:empty:没有子元素的元素,没有子元素包括文本节点; E:lang(en):具有使用双字母缩写(en)表示的语言的元素; E:not(exception):该选择器将选择与括号内的选择器不匹配的元素:
5、伪元素伪元素可用于定位文档中包含的文本,为与伪类进行区分,伪元素使用双冒号 :: 定义,但单冒号 : 也能被识别。 ::first-line:匹配文本首行; ::first-letter:匹配文本首字母; ::before 与 ::after :使用 contnet 属性生成额外的内容并插入在标记中:
::selection:匹配突出显示的文本:
当然,如果要方便的使用这些强大的CSS选择器的话,使用Chrome、Firefox之类的浏览器吧,最起码得抛弃IE9以下的IE版本浏览器吧。 |