【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.


相关内容

热门资讯

阿联酋最大银行及另两家中东银行... 观点网讯:5月8日,路透社报道指,阿联酋最大银行第一阿布扎比银行(First Abu Dhabi B...
深圳239亿地王易主,再造万象... 2017年,世茂集团豪掷239.43亿元拿下世茂深港国际中心地块,曾规划建筑高度达700米的深圳第一...
蔚来在安庆成立新能源科技公司 ... 天眼查App显示,近日,安庆蔚来新能源科技有限公司成立,法定代表人为姚蒀,注册资本500万人民币,经...
美国牛肉商期盼峰会重启对华出口 据路透社5月8日报道,美国牛肉生产商正期待特朗普与中国于5月14日至15日的峰会推动对华出口许可恢复...
创业板首家未盈利企业,市值突破... 5月8日,大普微总市值正式突破2000亿元大关。截至午间收盘,大普微涨14.07%,报493.1元/...
招商证券:董事长霍达因工作变动... 招商证券公告,公司董事长霍达因工作变动申请辞去董事长、执行董事等全部职务,辞任自辞呈送达董事会之日生...
原创 中... 【阅读须知】本文所引用的所有信息和数据,均为作者通过查阅官方资料与网络公开数据整理、分析而成,旨在为...
原创 从... 2026年5月5日,中国商务部发布了一项具有划时代意义的专项阻断禁令,这份公告让一向倚仗长臂管辖的美...
布米普特拉北京投资基金管理有限... 美国圣路易斯联邦储备银行总裁穆萨莱姆周三发出明确信号,美联储货币政策面临的潜在风险正在发生关键转向。...
加工的秘密:超精加工设备如何做... 你知道吗? 一根头发丝的直径大约0.07毫米,也就是70微米。 超精加工设备,可切出表面,其尺寸为0...
招商证券董事长霍达因工作变动离... 北京商报讯(记者 刘宇阳 实习生 王思奕)5月8日,招商证券发布关于公司董事长离任暨推举董事代行董事...
华帝股份营收创近3年新低,37... 乐居财经李兰近日,华帝股份(002035.SZ)发布2025年年度报告。 2025年,华帝股份实现营...
大模型融资杀疯了!月之暗面狂揽... 图源:视觉中国 5月7日,据华峰资本官微消息,国内头部大模型公司月之暗面(Kimi)于近日完成新一轮...
扎根长宁二十余载,仲利国际融资... 作为总部扎根上海长宁的优质台资金融企业,仲利国际融资租赁有限公司深耕融资租赁行业二十余载,始终坚守金...
估值210亿!李彦宏又将收获一... 来源:直通IPO,文/王非 国产GPU上市潮仍然汹涌,继两家登陆A股、两家登陆H股后,这家公司正推进...
基金“盲盒”拆了 公募基金正在迎来一场让投资者“看得懂”的变革。 近日,华夏、易方达、南方、招商等12家头部及特色基金...
原创 2... 前言 十年间,中国企业在印尼镍产业链累计砸下超过140亿美元,电厂、公路、码头和全套生产线,硬生生...
原创 欧... 俄罗斯卫星通讯社5月6日报道,欧盟宣布禁止欧洲银行为含有来自不可靠供应商的关键部件的可再生能源项目提...
原创 余... 2026年5月2日,在中国理财市场扎根十三年的余额宝,终于触碰到了一个让所有人错愕的数字——7日年化...
银华基金增聘谭普景共同管理银华... 来源:新浪基金∞工作室 5月8日,银华基金管理股份有限公司发布公告称,为银华中证机器人交易型开放式指...