CSS 选择器

111 阅读3分钟

css选择器

css选择器是css规则的一部分且位于css声明块前。

选择器分类:

  1. 简单选择器:通过元素类型、class或id匹配一个或多个元素。
  2. 属性选择器:通过属性值匹配一个或多个元素。
  3. 伪类:匹配处于确定状态的一个或多个元素,比如一些dom事件触发。
  4. 伪元素:匹配处于相关的确定位置的一个或多个元素,例如每个段落的第一个字或者某个元素之前生成的内容。
  5. 组合器:有效的方式组合两个或更多的选择器用于非常特定的选择的方法。
  6. 多用选择器:将逗号分隔的多个选择器放在一个css规则下面,声明应用又这些选择器选择的元素。

简单选择器(元素选择器)

指定html元素名,不区分大小写的匹配。这是所有指定类型的最简单方式。

类选择器 class selectors

类选择器是由.以及类名组成。类名是在HTML class文档元素属性中没有空格的任何值,单个元素可以有多个类名。

ID选择器

ID选择器是由#号和id名组成,一个id名称在文件代表的元素是唯一的。

通用选择器 universal selector

(*)代表通用选择器,匹配文件内的所有元素。

通用选择器对大型网页性能消耗大,谨慎使用!

组合器 combinators

在css中,允许多个选择器组合。

combinatorsselect
A,B匹配A或B的任意元素
A B匹配任意元素,前提:B是A的后代
A > B匹配任意元素,前提:B是A的直接节点
A + B匹配任意元素,前提:B是A的下一个兄弟节点
A + B匹配任意元素,前提:B是A之后的任意一个兄弟节点

属性选择器

  1. 存在和值属性选择器
    • [attr]: 包含attr属性的所有元素;
    • [attr = val]: 包含attr属性值为val的所有元素;
    • [attr ~= val]: 包含attr属性其中值包含val的所有元素;
  2. 子串值属性选择器(伪正则选择器)
    • [attr |= val]: 包含attr属性的值以val或val-开头的元素;
    • [attr ^= val]: 包含attr属性的值以val-开头的元素;
    • [attr $= val]: 包含attr属性的值以val-结尾的元素;
    • [attr *= val]: 包含attr属性的值包含字符串val的元素;

伪类(pseudo-class)

css伪类,以冒号(:)作为前缀的关键字,在特定状态下才被呈现到指定的元素。

伪类选择器有:

  • :active
  • :any
  • :checked
  • :default
  • :dir()
  • :disable
  • :empty
  • :enabled
  • :first
  • :first-child
  • :first-of-type
  • :fullscreen
  • :focus
  • :hover
  • :indeterminate
  • :in-range
  • :invalid
  • :lang()
  • :lasr-child
  • :last-of-type
  • :left
  • :link
  • :not()
  • :nth-child()
  • :nth-last-child()
  • :nth-last-of-type()
  • :nth-of-type()
  • :only-child
  • :only-of-type
  • :optional
  • :out-of-range
  • :read-only
  • :read-write
  • :required
  • :right
  • :root
  • :scope
  • :target
  • :valid
  • :visited

伪元素

伪元素的前缀是两个冒号(::)

  • ::after
  • ::before
  • ::first-letter
  • ::first-line
  • ::selection
  • ::backdrop

学习转载于:segmentfault.com/a/119000001…