【CSS】P7 伪类选择器(动态伪类,结构伪类,否定伪类,UI伪类,目标伪类,语言伪类)
创始人
2025-05-30 03:56:59
0

这里写自定义目录标题

  • 伪类选择器
    • 什么是伪类
  • 动态伪类
    • 五个常用动态伪类
    • 常用动态伪类举例
    • 动态伪类的顺序关系
  • 结构伪类
    • 六个常用结构伪类
    • :first-child
    • :last-child
    • :nth-child()
    • :first-of-type
    • :last-of-type
    • :nth-of-type()
    • 几个不常用的结构伪类
  • 否定伪类
  • UI 伪类
  • 目标伪类
  • 语言伪类


伪类选择器

什么是伪类

伪类(Pseudo-Class): 伪类用于选择 HTML 元素的某个 状态 或特定的 位置

例如,动态伪类 中存在 :hover,用于选择元素在鼠标悬停时的 状态结构伪类 中存在 :first-child 用于选择元素作为父元素的第一个子元素的 状态

浅浅举个例子:



去百度去京东


动态伪类

五个常用动态伪类

a:link		/* 表示样式将应用于 HTML 中未被访问过的链接;*/
a:visited		/* 表示样式将应用于 HTML 中已被访问过的链接;*/
a:hover		/* 表示样式将应用于当用户将鼠标悬停在 HTML 中链接上时的状态;*/
a:active		/* 表示样式将应用于当用户点击 HTML 中链接时的状态;*/
select:focus		/* 表示样式将应用于当链接被选中或获得焦点时的状态;*/

常用动态伪类举例

a:link a:visited a:hover a:active


去百度去京东

上述代码产生效果为:链接未被访问时,呈现橙色效果,鼠标悬浮在链接上,呈现天蓝色效果,点击未松开,呈现绿色效果,访问后,呈现灰色效果;

select:focus input:focus





动态伪类的顺序关系

要注意的是,动态伪类之间存在有顺序关系,思考如下情形:

在我们点下 去百度 并不松开的时候,我们其实是同时处于以上几种状态中的三种::link :hover :active,而在 CSS 中,渲染存在覆盖效果;所以CSS中表现的样式是几种状态中最下方的状态,即若将 a:active 置于状态中的最下方,则会呈现点击未松开的绿色效果;


结构伪类

六个常用结构伪类

:first-child	/* 表示样式将应用于一个元素的第一个子元素 */
:last-child		/* 表示样式将应用于一个元素的最后一个子元素 */
:nth-child()	/*  表示样式将应用于某个元素的指定子元素 */
:first-of-type		/* 表示样式将应用于一个类型的元素中的第一个元素 */
:last-of-type		/* 表示样式将应用于一个类型的元素中的最后一个元素 */
:nth-of-type()		/* 表示样式将应用于一个类型的元素中的指定位置的元素 */

:first-child

:first-child


测试1

测试2

测试3

张三:98分

李四:88分

王五:78分

赵六:68分

结果展示:

在这里插入图片描述


:last-child

:last-child


测试1

测试2

测试3

张三:98分

李四:88分

王五:78分

赵六:68分

效果展示:

在这里插入图片描述


:nth-child()

:nth-child

/* 选择第二个子元素 */
:nth-child(2) {color: red;
}/* 选择奇数子元素 */
:nth-child(odd) {background-color: yellow;
}/* 选择奇数子元素 */
:nth-child(2n+1) {background-color: blue;
}/* 选择偶数子元素 */
:nth-child(even) {background-color: green;
}/* 选择偶数子元素 */
:nth-child(2n) {background-color: yellow;
}/* 选择从第三个子元素开始的子元素 */
:nth-child(n+3) {font-size: 1.2em;
}/* 选择前三个子元素 */
:nth-child(-n+3) {font-weight: bold;
}

举例:


第一个元素

第二个元素

第三个元素

第四个元素

第五个元素

第六个元素

第七个元素

第八个元素

第九个元素

第十个元素


:first-of-type

:first-of-style

/* 第一个段落元素 */
p:first-of-type {color: blue;
}/* 第一个 div 元素 */
div:first-of-type {background-color: yellow;
}/* 第一个 h2 元素 */
h2:first-of-type {font-size: 2em;
}

举例:


第一个元素

第二个元素

第三个元素

第四个元素

第五个元素

第六个元素


:last-of-type

/* 最后一个段落元素 */
p:last-of-type {color: blue;
}/* 最后一个 div 元素 */
div:last-of-type {background-color: yellow;
}/* 最后一个 h2 元素 */
h2:last-of-type {font-size: 2em;
}

:nth-of-type()

/* 选择第二个子元素 */
:nth-of-type(2) {color: red;
}/* 选择奇数子元素 */
:nth-of-type(odd) {background-color: yellow;
}/* 选择偶数子元素 */
:nth-of-type(even) {background-color: green;
}/* 选择从第三个子元素开始的子元素 */
:nth-of-type(n+3) {font-size: 1.2em;
}/* 选择前三个子元素 */
:nth-of-type(-n+3) {font-weight: bold;
}

几个不常用的结构伪类

/* 选择一个父元素中倒数第二个子元素 */
p:nth-last-child(2) {color: red;
}/* 选择一个与其同类型的兄弟元素中倒数第二个元素 */
p:nth-last-of-type(2) {color: red;
}/* 选择一个父元素中唯一的子元素 */
p:only-child {color: red;
}/* 选择一个父元素中唯一的子元素 */
p:only-child {color: red;
}/* 全局样式 */
:root {/* 全局样式 */
}html {/* 更具体的样式 */
}/* 选中的是没有内容的div元素 */
div:empty {background-color: #eee;
}
即:

否定伪类

/* 选择所有除了 class="highlight" 的段落元素 */
p:not(.highlight) {color: blue;
}/* 选择所有除了 id="footer" 的元素 */
*:not(#footer) {background-color: yellow;
}/* 选择所有除了 type="checkbox" 的表单控件 */
input:not([type="checkbox"]) {border: 1px solid gray;
}/* 选择所有除了 title 以"你要加油"开头的表单控件 */
div>p:not([type^="你要加油"]) {color: orange;
}

UI 伪类

:checked		/* 用于匹配已被选中的表单元素 */
:enable			/* 选择处于启用状态的表单元素 */
:disabled		/* 选择处于禁用状态的表单元素 */
input:checked {width: 100px;height: 100px;
}
input[type="text"]:enabled {background-color: gray;
}
input[type="text"]:disabled {background-color: gray;
}

目标伪类

:target		/* 用于选择当前页面中被 URL 中的片段标识符(#)指定的元素 */

举例:



:target Example

Section 1

Content of section 1 goes here...

Section 2

Content of section 2 goes here...

Section 3

Content of section 3 goes here...


语言伪类

:lang()		/* 选择使用特定语言属性的元素 */


:lang Example

This is a paragraph in English.

Ceci est un paragraphe en français.

Dies ist ein Absatz auf Deutsch.

This is another paragraph in English.


相关内容

热门资讯

银行职工因贪污罪获刑后留任,在... 新京报记者 刘锦涵 制作 礼牧周 ▲新京报我们视频出品(ID:wevideo) 近日,农发行福建福鼎...
黄金创40年来最大单日跌幅!金... (来源:劳动报) 转自:劳动报 1月31日,国际金银价格同步大跌,创40余年来最大跌幅。国内金饰价...
“一人公司”近来何以兴起? 2026年开年,“一人公司”发展备受关注。这种新型创业模式正在上海、北京、江苏等地悄然兴起,凭借低成...
寒武纪预计 2025 年净利润... 消息,AI 芯片企业寒武纪今日发布 2025 年年度业绩预告: 经财务部门初步测算,公司预计 2...
和讯投顾徐剑波:ETF买入法! 这轮牛市是机构主导的ETF牛市,选对ETF往往比选股更加赚钱。那么如何投资ETF?今天教给大家一个非...
君乐宝上市申请已递交,国内乳品... 2026年 1月19日,中国领先的综合乳制品企业君乐宝乳业集团股份有限公司正式向香港联交所递交主板上...
大涨!马斯克,突传大消息!重磅... SpaceX的“赚钱能力”曝光。 据最新消息,世界首富埃隆·马斯克旗下的商业航天公司SpaceX去年...
原创 顶... 2025年微博之夜定档于2026年2月5日北京线上直播,这场已经走过二十多年风雨的互联网年度盛典,因...
体检查出肺结节?3个日常行为正... 太原龙城中医医院科普:如今越来越多人在体检中发现肺结节,看到报告上的“阴影”便忧心忡忡。其实研究表明...
记者观察丨美联储下任主席提名揭... 在经过长达一年反复挑选后,美国总统唐纳德·特朗普终于做出决定,提名凯文·沃什为下一任美联储主席,接替...
首饰金,一夜大跌上百元!金价暴... 【导读】多家首饰品牌金价出现大幅下跌 中国基金报记者 忆山 随着国际金价急速下跌,国内首饰金价也迎来...
原创 一... 一个亲自参观过我国稀土提炼工厂的日本人在社交平台发文,竟然毫不客气地指出,无论是日本还是美国,都几乎...
环球网财经系列专访 1月27日至28日,全国贸促工作会议暨中国贸促会第六届全国委员会第六次会议在京召开。 会议指出,“...
默茨警告:“大国世界”要来了,... 【文/观察者网 熊超然】当地时间1月29日,德国总理默茨在德国联邦议院发表其任内的第二次施政声明。在...
路透解析“马斯克集团”:Spa... SpaceX 凤凰网科技讯 北京时间1月31日,据路透社报道,长期以来,埃隆·马斯克(Elon Mu...
启动“二改” 永辉在京完成21... 北京商报讯(记者 赵述评 实习记者 毛思怡)1月31日,永辉超市北京龙湖长楹天街店经一个多月闭店调改...
《宜宾散装白酒连锁经营规范》团... 近日,由宜宾市酒类协会牵头归口、宜宾安宁酒厂主导起草,四川谊宾酒业、宜宾学院、劲牌南溪酒业等多家本地...
印度牙医博士打造全印首款人形机... 2026 年 1 月 23 日,印度浦那的 Muks Robotics 正式宣布,自主研发的社交人形...
金银价创新高,引发全球“贵金属... 【环球时报记者 倪浩 环球时报特约记者 甄翔】连日来,国际市场金银价格持续大涨。1月29日当天,亚太...
财经观察丨“爱你老己”背后的消... 新华网北京1月31日电岁末年初,一句“爱你老己,明天见”席卷社交网络,成为年轻人自我关怀的新表达。热...