选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说,就是选择标签用的。

分类:基础选择器、复合选择器

目录

一、基础选择器

 二、复合选择器

三、CSS3选择器补充:

(一)层级选择器:

 (二)属性选择器

(三)伪类选择器


一、基础选择器

1、标签选择器:用 HTML 标签名称作为选择器

基础选择器是由单个选择器组成

基础选择器又包括:标签选择器类选择器id 选择器通配符选择器

优点:能快速为页面中同类型的标签统一设置样式

缺点:不能设计差异化样式,只能选择全部的当前标签。

CSS选择器分类大全

 2、类选择器

如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器

CSS选择器分类大全

 多类名例子:<div class="red font"></div>

记忆口诀:样式定义,结构调用。一个或多个,开发最常用。

  • 类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。
  • 长名称或词组可以使用中横线来为选择器命名。
  • 不要使用纯数字、中文等命名,尽量使用英文字母来表示。
  • 命名要有意义,尽量使别人一眼就知道这个类名的目的
  • 类名可以有多个 、多个类名中间必须用空格分开把一些标签元素相同的样式(共同的部分)放到一个类里面. 后调用,从而节省CSS代码,例如版心可以写统一样式

3. id 选择器:为标有特定 id 的 HTML 元素指定特定的样式

CSS选择器分类大全

 注意:id 属性只能在每个 HTML 文档中出现一次。口诀: 样式#定义,结构id调用, 只能调用一次id 选择器和类选择器的区别

  • 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用。
  • id 选择器好比人的身份证号码,全中国是唯一的,不得重复。
  • 类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用。

4. 通配符选择器

通配符选择器使用“*”定义,它表示选取页面中所有元素(标签)。

CSS选择器分类大全

 基础选择器总结

CSS选择器分类大全

 二、复合选择器

由两个或多个基础选择器,通过不同的方式组合而成的

分类:常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等

1.后代选择器又称为包含选择器,可以选择父元素里面子元素。

 CSS选择器分类大全

  • 元素1 和 元素2 中间用空格隔开
  • 元素1 是父级,元素2 是子级,最终选择的是元素2
  • 元素2 可以是儿子,也可以是孙子等,只要是元素1 的后代即可
  • 元素1 和 元素2 可以是任意基础选择器

 2.子选择器 (重要) 

只能选择作为某元素的最近一级子元素。简单理解就是选所有的亲儿子元素.

CSS选择器分类大全

3.并集选择器

可以选择多组标签, 同时为他们定义相同的样式,理解为和的意思。通常用于集体声明. 又叫群组选择器并集选择器是各选择器通过英文逗号

Eg:ul,div { 样式声明 } /* 选择 ul  div标签元素 */

三、CSS3选择器补充:

(一)层级选择器:

1. E+F 相邻兄弟选择器

选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面

Eg:选中input的亲兄弟,button

 CSS选择器分类大全

 CSS选择器分类大全

2. E~F 通用选择器:

代表 E 和 F 具有同一个父元素,并且 F 元素在 E 元素后面,但是不用相邻。

Eg:选中input后匹配的search_list

CSS选择器分类大全

 (二)属性选择器

1、E[attr]:只使用属性名,但没有确定任何属性值;
2、E[attr="value"]:指定属性名,并指定了该属性的属性值;
3、E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写
扩展知识
4、E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;
5、E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的
6、E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;
7、E[attr|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn);

(三)伪类选择器

1、结构性伪类选择器

X:first-child 匹配子集的第一个元素。IE7就可以支持
X:last-child匹配父元素中最后一个X元素
X:nth-child(n)用于匹配索引值为n的子元素。索引值从1开始
X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。
X:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML
X:empty匹配没有任何子元素(包括包含文本)的元素X

CSS选择器分类大全

 2、目标伪类选择器

E:target 选择匹配E的所有元素,且匹配元素被相关URL指向与锚点链接结合使用

CSS选择器分类大全

 3、UI 元素状态伪类选择器

E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E
E:selection 匹配E元素中被用户选中或处于高亮状态的部分

4、否定伪类选择器

E:not(s) (IE6-8浏览器不支持:not()选择器。)
匹配所有不匹配简单选择符s的元素E

5、动态伪类选择器

E:link

链接伪类选择器

  选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上

E:visited  

链接伪类选择器

选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上

E:active

用户行为选择器

选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上

E:hover

用户行为选择器

选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover

E:focus 用户行为选择器 选择匹配的E元素,而且匹配元素获取焦点

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。