🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
伪类选择器是通过单冒号(:)和特定的具有某种含义的单词来确定所选元素。 所谓伪类选择器,是相对于“类选择器”来说的,对比如下: 类选择器: 说明:类的名称是由我们程序员来设定的,符合命名规范就行。 ``` 形式:.类名称{ ... } ``` 伪类选择器: 说明:伪类的名称是css标准中所预先设定的,我们不能自己设定。可用的伪类名不多。 ``` 形式::伪类名称{ ... } ``` 下面分别介绍一些常用的伪类选择器(伪类名)。 ## 14.5.1.:link, :visited, :hover, :active, 这4个伪类主要用于表示一个链接(也就是a标签)的4种不同状态。 它们可以设定一个链接在不同状态下的外观表现(样式表现)。 ``` :link ——表示一个链接初始时候的状态。 :visited ——表示一个链接在访问(点击)过之后的状态。 :hover ——表示一个链接在“鼠标移上去”(鼠标悬停)的时候的状态。 :active ——表示一个链接在“活动状态”的时候的状态,通常就是点击的瞬间(按住不放能看到)。 ``` 注意: ``` 1,:hover可以用于其它标签,并且经常用! 2,对于a链接的这4个状态,他们有顺序问题,必须按上述顺序才有合理效果(lvha,Lv哈) ``` 演示案例: ![](https://img.kancloud.cn/2d/c6/2dc6a1df7a1495f89ff60fabc7e49e20_1029x460.png) 再来一例: ![](https://img.kancloud.cn/e3/ba/e3ba724403472a2ae62576d4d3e929b6_938x604.png) ## 14.5.2.E:focus 表示一个元素在成为可输入状态(获得焦点)的时候,主要用于表单元素。 其中“E”表示某个元素(或某个选择器所选中的元素)。 这样连着写,即表示该元素在获得焦点的时候,其样式表现如何。后面的“E”也都是这个意思。 也可以不用前面写“E”,而是直接用“:focus”,但实际应用中,一般会在前面有这个限定。 比如: ``` input:focus{ .... } //表示input元素在获得焦点的时候 也可以不用input,如下所示: :focus{ .... } 但此时其实所选择的范围扩大了(不仅仅针对input元素)。 ``` 例: ![](https://img.kancloud.cn/22/31/2231d5bacd0ef81e3276fca66a4d09d3_851x541.png) ![](https://img.kancloud.cn/bd/3b/bd3b69123564b88c25d07b9f10fb413f_518x168.png) ## 14.5.3.E:first-child, E:last-child, E:only-child, E:nth-child(n) 这几个伪类用于表示(或选中)“具有某种特征的子元素E”。 E:first-child ——匹配作为父元素的第一个子元素E。 E:last-child ——匹配作为父元素的最后一个子元素E。 E:only-child ——匹配作为父元素的唯一一个子元素E。 E:nth-child(n) ——匹配作为父元素的第n个子元素E。括号中的n是一个具体数字 还可以这样用:nth-child(2n+1)表示奇数项, nth-child(2n+2)表示偶数项 举例: ``` li:first-child{ ... } //表示作为第一个子元素的li标签 td:last-child{ ... } //表示作为最后一个子元素的td标签 p:only-child{ ... } //表示作为父元素中只有这一个子元素的p标签 li:nth-child(2){ ... } //表示作为第2个子元素的li标签 ``` 注意: 上述也可以单用(不要冒号前面的部分),但一般较少这样用。 示例1: ![](https://img.kancloud.cn/93/79/9379c5812719353dde9bad0d32ba400f_433x559.png) 示例2: ![](https://img.kancloud.cn/50/6c/506ccc53735ce77bf85ef62b8528a908_408x345.png) 示例3: ![](https://img.kancloud.cn/82/90/8290d8765fcb31b34b56bc312970e80e_593x529.png) 课堂案例: 做一个表格,6行4列 实现隔行换色(背景色) 并且第3列文字红色 第一个单元格文字大小30px。 最后一个单元格文字斜体 ## 14.5.4.E:empty,E:checked,E:enabled,E:disabled E:empty ——匹配元素内部为空(没有内容)的元素。 “内容”指的是一个标签内是否有其他html代码或文字。显然,单标签内是不可能有内容的。 E:checked ——匹配被选中的元素(用于input且type为radio或checkbox的时候) E:enabled ——匹配“可用的/有效的元素”(用于表单元素)。 E:disabled ——匹配“不可用的/有效的元素”(用于表单元素)。 示例: ![](https://img.kancloud.cn/4e/02/4e02e22f78282e92c3418283b71fd4f9_788x606.png)