news 2025/12/30 8:31:11

css选择器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
css选择器

本文将系统介绍CSS中常见的五类选择器:

  • 复合选择器
  • 关系选择器
  • 属性选择器
  • 伪类选择器
  • 交互类伪类选择器

一、复合选择器(组合条件)

复合选择器通过组合多个选择条件,选中同时满足所有条件的元素。

交集选择器

语法:

选择器1选择器2 { 样式声明 }

选中同时匹配多个选择器的元素。

示例:

div.red { font-size: 24px; }

该规则表示: 选中同时是<div>标签且具有class="red"的元素。

注意事项:

  1. 若包含标签选择器,必须置于首位;
  2. 优先级由各选择器权重综合决定。

并集选择器(群组选择器)

语法:

选择器1, 选择器2, 选择器3 { 样式声明 }

作用:为多个选择器统一设置相同样式。

示例:

h1, h3 { color: orange; }

效果:h1h3元素都将显示橙色文字。


二、关系选择器(层级关系)

根据HTML元素的层级关系进行选择。

子选择器(>)

语法:

父元素 > 子元素 { 样式声明 }

作用:仅选择直接子元素。

示例:

div > span { color: red; }

仅影响<div>内第一层的<span>元素。


后代选择器(空格)

语法:

祖先 后代 { 样式声明 }

作用:选择所有层级的后代元素。

示例:

div span { font-size: 30px; }

区别:

  • 子选择器(>):仅选择直接子元素;
  • 后代选择器(空格):选择所有层级后代。

兄弟选择器

相邻兄弟选择器(+)

语法:

兄 + 弟 { 样式声明 }

选择紧邻的下一个兄弟元素。

通用兄弟选择器(~)

语法:

兄 ~ 弟 { 样式声明 }

选择该元素之后的所有兄弟。

示例:

p + span { background-color: red; }

为紧接<p>后的<span>添加红色背景。


三、属性选择器

根据元素属性及其值进行选择。

常用语法:

选择器含义
[属性名]具有该属性的元素
[属性名=值]属性值完全匹配
[属性名^=值]属性值以指定内容开头
[属性名$=值]属性值以指定内容结尾
[属性名*=值]属性值包含指定内容

示例:

[title*="ac"] { background-color: pink; }

所有title属性包含"ac"的元素背景变为粉色。


四、伪类选择器(状态类)

根据元素状态或位置进行选择。

顺序伪类

伪类功能
:first-child第一个子元素
:last-child最后一个子元素
:nth-child(n)第n个子元素(从1计数)
:first-of-type同类型第一个元素
:last-of-type同类型最后一个元素
:nth-of-type(n)同类型第n个元素

示例:

li:nth-of-type(2n) { background-color: pink; }

为列表中所有偶数项设置粉色背景。


否定伪类:not()

语法:

选择器:not(条件) { 样式声明 }

示例:

li:not(.l1) { color: red; }

class="l1"外的所有li元素文字变红。


五、交互类伪类选择器

主要用于超链接和交互元素,根据用户操作动态改变样式。

链接相关伪类

伪类含义
:link未访问链接
:visited已访问链接
:hover鼠标悬停
:active鼠标点击时

示例:

a:link { color: red; } a:visited { color: blueviolet; } a:hover { color: green; } a:active { color: orange; }

书写顺序记忆:LVHA

:link → :visited → :hover → :active

必须严格遵循此顺序,否则样式可能被覆盖。


鼠标交互示例

button:hover + .box { display: block; background-color: pink; }

鼠标悬停按钮时,显示相邻的.box元素并设置粉色背景。


总结与思维导图

类型作用示例
复合选择器多条件组合div.redh1, h3
关系选择器层级关系div > spanp + span
属性选择器属性匹配[title*="ac"]
伪类选择器状态/位置:nth-child():not()
交互伪类用户操作:hover:active

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/22 17:06:14

anything-llm完整实战指南:打造专属智能文档助手的终极方案

anything-llm完整实战指南&#xff1a;打造专属智能文档助手的终极方案 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型&#xff0…

作者头像 李华
网站建设 2025/12/22 17:06:03

零基础玩转usb_burning_tool刷机工具:图文操作指南

从零开始玩转 Amlogic USB 烧录&#xff1a;手把手教你用 usb_burning_tool 刷机 你有没有遇到过这样的情况——手里的电视盒子突然开不了机&#xff0c;屏幕黑屏、遥控器无响应&#xff1f;或者想给老设备换个轻量系统&#xff08;比如 CoreELEC&#xff09;&#xff0c;却发…

作者头像 李华
网站建设 2025/12/22 17:05:45

3步解锁网易云音乐加密格式:告别NCM限制实现音频自由

3步解锁网易云音乐加密格式&#xff1a;告别NCM限制实现音频自由 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的歌曲无法在其他设备播放而烦恼吗&#xff1f;那些只能在特定客户端播放的NCM格式文件&#xf…

作者头像 李华
网站建设 2025/12/22 17:05:32

网易云音乐NCM文件解密转换全攻略

网易云音乐NCM文件解密转换全攻略 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的加密NCM文件无法在其他播放器上播放而烦恼吗&#xff1f;别担心&#xff0c;今天我将为你带来一份详尽的NCM文件解密转换指南…

作者头像 李华
网站建设 2025/12/22 17:04:58

NCM格式音乐转换完全解决方案:快速处理加密音频文件

你是否曾经遇到过这样的情况&#xff1a;从某音乐平台下载的歌曲只能在特定播放器中播放&#xff0c;换个设备就变成了"哑巴"&#xff1f;这种加密的NCM格式让我们的音乐收藏变得毫无自由可言。今天&#xff0c;我将为你介绍一个强大的开源工具——NCMconverter&…

作者头像 李华
网站建设 2025/12/30 5:26:47

有源蜂鸣器和无源区分对比:工业场景核心要点解析

有源蜂鸣器 vs 无源蜂鸣器&#xff1a;工业场景下如何选型不踩坑&#xff1f; 在工厂的PLC控制柜里&#xff0c;你是否遇到过这样的情况——设备报警时蜂鸣器“吱”一声就停了&#xff0c;或者根本没响&#xff1f;排查半天发现不是程序问题&#xff0c;而是蜂鸣器类型用错了。…

作者头像 李华