CSS的选择器

1,647 阅读3分钟

要使用 CSS 对 HTML 的页面元素实现一对一,一对多或者多对一的控制,这就需要用到 CSS 选择器。HTML 页面中的元素就是通过 CSS 选择器控制的。

CSS选择器分类

1.id选择器 (#id)

使用 id 选择器之前需要在 HTML 文档中的元素添加 id 名称,使用时需要在名称前加上 #,如(#id)。注意id选择器一个页面只能用一次。

2.类选择器 (.classname)

类选择器是以一独立于文档元素的方式来制定样式,使用类选择器之前需要在 HTML 元素上定义类名。

3.元素选择器 又称标签选择器

是CSS选择器中最常见而且最基本的选择器。元素选择器其实就是文档中的元素,如 div、p等等。

4.通配符选择器 (*)

通配符选择器是用来选择所有元素,也可以选择某个元素下的所有元素

5.属性选择器

用"[]"开头,将属性包起来

-[attribute] 用于选取带有指定属性的元素

-[attribute=value] 用于选取带有指定属性和值的元素

-[attribute~=value] 用于选取属性值中包含指定词汇的元素

-[attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词

-[attribute^=value] 匹配属性值以指定值开头的每个元素

-[attribute$=value] 匹配属性值以指定值结尾的每个元素

-[attribute*=value] 匹配属性值中包含指定值的每个元素

6.群组选择器 (A,B)

表示同时选中A和B

7.后代选择器,又称包含选择器 (A B)

表示选中A的后代B

8.子选择器 (A>B)

表示A的直接子元素B

9.相邻兄弟选择器 (A+B)

表示选中A的下一个相邻元素

10.相邻兄弟选择器衍生(A~B)

表示选中A后的N个相邻元素

11.伪类选择器

用来选择处于特定状态下的元素

  • :first-child:匹配元素下的第一个元素
  • :last-child:匹配元素下的最后一个元素
  • :nth-child():匹配元素下的第n个元素,(2n+1)代表基数,(2n)代表偶数

  • :first-of-type:匹配元素下的每一个标签类型的第一个
  • :last-of-type:匹配元素下的每一个标签类型的最后一个
  • :nth-of-type(n):匹配元素下的每一个标签类型的第n个

  • :link:未访问链接
  • :visited:已访问链接
  • :hover:鼠标放置上的链接
  • :active:被激活时的状态

使用顺序: :link>:visited>:hover>:active love hate (lvha)

  • :focus: 选中被激活的表单元素

  • :checked:选中被勾选的表单元素
  • :disabled:选中被禁用的表单元素
  • :root:选中根节点
  • :target:定位当前活动页面内定位点的目标元素
  • :not(xx):选中不为xx的元素

12.伪元素选择器

可用于定位文档中包含的文本,与伪类进行区分,伪元素使用双冒号(::)定义

  • ::before、::after:使用content属性生成额外的内容并插入在标记当中
  • ::first-line:匹配文本首行
  • ::first-letter:匹配文本首字母
  • ::selection:匹配突出显示的文字

权重计算规则

  • 第一等:代表内联样式,如: style=””,权值为1000。

  • 第二等:代表ID选择器,如:#content,权值为0100。

  • 第三等:代表类,伪类和属性选择器,如.content,权值为0010。

  • 第四等:代表类型选择器和伪元素选择器,如div p,权值为0001。

  • 通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。

  • 继承的样式没有权值。