news 2026/6/22 14:30:02

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 10:21:29

解析视频推拉流平台EasyDSS在RTMP推流生态中的核心价值与作用

RTMP推流是专业直播的基石&#xff0c;但如何将其无缝覆盖至全终端&#xff1f;EasyDSS的核心功能正是答案。它作为强大的流媒体服务器&#xff0c;不仅高效接收RTMP流&#xff0c;更关键的是能实时转封装为HLS、FLV等多协议进行分发&#xff0c;一举解决不同终端与网络环境的播…

作者头像 李华
网站建设 2026/6/22 7:49:24

猫抓资源嗅探器:网页媒体捕获的智能解决方案

猫抓资源嗅探器&#xff1a;网页媒体捕获的智能解决方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在数字化信息爆炸的时代&#xff0c;网页上的视频、音频等多媒体内容已成为我们获取知识和娱乐…

作者头像 李华
网站建设 2026/6/22 9:36:24

终极窗口管理神器:AlwaysOnTop让你的重要内容永不遮挡

终极窗口管理神器&#xff1a;AlwaysOnTop让你的重要内容永不遮挡 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 痛点直击&#xff1a;多任务处理的窗口困境 在日常工作和学习…

作者头像 李华
网站建设 2026/6/21 19:53:24

GitHub中文插件:让全球开发者更高效协作的必备工具

GitHub中文插件&#xff1a;让全球开发者更高效协作的必备工具 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese GitHub中文插件是一款专…

作者头像 李华
网站建设 2026/6/22 8:09:05

终极内容解锁指南:3步实现付费墙绕过技术

在这个信息爆炸的数字时代&#xff0c;你是否也曾被付费墙阻挡在优质内容之外&#xff1f;Bypass Paywalls Clean作为一款专业的Chrome扩展工具&#xff0c;能够智能解锁超过100家主流媒体的付费内容&#xff0c;让你轻松访问多家国际知名媒体等顶级媒体资源。 【免费下载链接】…

作者头像 李华
网站建设 2026/6/22 17:00:25

CH340芯片USB转485驱动下载:新手教程(零基础必备)

零基础搞定CH340 USB转485驱动安装&#xff1a;从识别到通信的完整实战指南 你有没有遇到过这种情况——买了一个USB转485模块&#xff0c;插上电脑后设备管理器里却“查无此物”&#xff1f;或者明明插着线&#xff0c;串口调试助手就是找不到COM口&#xff1f; 别急&#xf…

作者头像 李华