css 选择器

作者: 你期待的花开 | 来源:发表于2017-08-22 10:17 被阅读12次

一、CSS选择器常见的有几种?

基本选择器

  • 通配选择器 选择文档中所有的html元素,用一个*表示
  • 元素选择器 选择指定类型的的html元素
  • ID选择器 选择指定ID属性值为"id"的html元素,选择的时候前面加上一个#
  • 类选择器 选择指定class属性值为"class"的任意多个html元素,选择的时候前面加上一个.

层次选择器

选择器类型 选择器 含义 css
多元素选择器 E,F 选择匹配E元素,F元素 1
后代选择器 E F 选择匹配E元素的F子元素 1
子孙选择器 E > F 选择匹配E元素下的直接子元素F 2
相邻兄弟选择器 E + F 选择匹配E元素后的直接相邻元素F 2
通用相邻选择器 E ~ F 选择匹配E元素后的所有同级元素F 3

伪类选择器

选择器 含义 css
E:first-child 匹配E元素的第一个子元素 2
E:last-child 匹配E元素的最后一个子元素 3
E:root 匹配E元素所在文档的根元素 3
E:nth-child(n) 匹配E元素的第n个子元素 3
E:nth-last-child(n) 匹配E元素的倒数第n个子元素 3
E:nth-of-type(n) 匹配父元素内具有指定类型的第n个E元素 3
E:nth-last-of-type(n) 匹配父元素内具有指定类型的倒数第n个E元素 3
E:first-of-type 匹配父元素内具有指定类型的第一个E元素 3
E:last-of-type 匹配父元素内具有指定类型的最后一个E元素 3
E:only-child 匹配父元素内只包含一个子元素,且该子元素匹配E元素 3
E:only-of-type 匹配父元素内只包含一个同类型的子元素,且该子元素匹配E元素 3
E:empty 匹配没有子元素的元素,且该元素五任何文本节点 3
E:link 匹配未被访问过的超链接 1
E:visited 匹配被访问过的超链接 1
E:active 匹配鼠标已经其上按下、还没有释放的E元素 1
E:hover 匹配鼠标停留其上的E元素 1
E:focus 匹配获得焦点的E元素 2
E:lang(language) 匹配指定了lang属性且值为language的E元素 2
E:not(F) 匹配所欲除F元素外的E元素 3
E:checked 匹配表单中被选中的radio(单选框)或checkbox(复选框)元素 3
E:disabled 匹配表单中禁用的元素 3
E:enabled 表单中激活的元素 3
E:target 匹配文档中特定"id"点击后的效果 3

伪元素选择器

伪元素可用于定位文档中包含的文本,为与伪类进行区分,伪元素使用双冒号 :: 定义,但单冒号 : 也能被识别。

选择器 含义 css
::first-letter 用来选择文本块的第一个字母 1
::first-line 用来选择元素的第一行文本 1
::before和::after 不是指存在标记中的内容,而是可以插入额外内容的位置,需要配合content属性使用 2
::selection 用来匹配突出显示的文本 3

属性选择器

选择器 含义 css
E[attr] 匹配所有具有属性attr的E元素 2
E[attr=val] 匹配具有属性attr,attr值为val的元素,val区分大小写 2
E[attr~=val] 匹配具有属性attr,attr值具有多个空格分隔、其中一个值等于value的元素 2
E[attr*=val] 匹配具有属性attr,attr值的任意位置包含了val的元素 3
E[attr^=val] 匹配具有属性attr,attr值以val开头的任何字符串的元素 3
E[attr$=val] 匹配具有属性attr,attr值以val结尾的任何字符串 3

选择器的优先级是怎样的?

关于优先级的规定,常用的方法是给不同的选择器分配权值:
!important
内联样式
id选择器 100
类选择器 10
伪类选择器 10
属性选择器 10
标签选择器 1
通配符选择器
浏览器自定义

  • 权值较大的优先级越高
  • 权值相同的,后定义的优先级较高
  • 样式值含有!important,优先级最高

后代选择器的定位原则

后代选择器,浏览器是如何查找元素的呢?

浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找。
比如DIV#divBox p span.red{color:red;},浏览器的查找顺序如下:先查找html中所有class='red'的span元素,找到后,再查找其父辈元素中是否有p元素,再判断p的父元素中是否有id为divBox的div元素,如果都存在则匹配上。
浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素。

如果遇到一个属性想知道兼容性,在哪查看?

可以去Can I use查询

相关文章

  • CSS选择器

    CSS 元素选择器CSS 选择器分组CSS 类选择器详解CSS ID 选择器详解CSS 属性选择器详解CSS 后代...

  • CSS选择器

    目录: CSS派生选择器 CSS元素选择器 CSS Id 和 Class选择器 CSS 属性选择器 CSS 派生选...

  • css选择器

    css选择器】 1.css属性选择器 2.css伪类选择器 3.css层次选择器

  • CSS 选择器

    CSS 选择器 CSS 基本选择器及其扩展 CSS 基本选择器 通配符选择器 * 元素选择器 使用标签的名称...

  • Sublime 学习web的css

    html + css + js css引用 css外部样式 css优先级 css的选择器 标签选择器 类选择器 i...

  • CSS选择器

    CSS选择器的作用 CSS 选择器用于定位我们想要给予样式的 HTML 元素。 CSS选择器的类型 CSS选择器大...

  • JQuery CSS选择器

    CSS普通选择器 选择器函数 CSS伪类选择器

  • CSS-选择器1-概述

    CSS选择器-系列文章 CSS选择器-系列文章下一节 CSS选择器2-类选择器CSS3参考手册

  • CSS选择器、优先级以及!important知识总结

    一、CSS选择器 关于CSS选择器,首先请看这里:CSS 选择器参考手册 通过以上,我们可以将CSS选择器分为以下...

  • CSS

    CSS规则 at 规则 CSS选择器 CSS选择器 继承与层叠 继承与层叠 CSS 属性 CSS 属性 CSS值 ...

网友评论

    本文标题:css 选择器

    本文链接:https://www.haomeiwen.com/subject/aaxorxtx.html