当前位置: 首页 > news >正文

8.CSS选择器全解析:基础+复合+伪类,一篇搞懂网页样式控制

目录

一、选择器的种类

二、类选择器

代码示例1:基础类选择器使用

代码示例2:类选择器样式叠加(.eat、.sleep、.game)

代码示例3:类选择器叠加样式(.play)

三、id 选择器

代码示例4:基础 id 选择器使用

代码示例5:id 选择器多元素使用(fe、server)

四、通配符选择器

代码示例6:基础通配符选择器使用

实际应用:消除默认边距

五、复合选择器(选学)

1. 后代选择器

2. 什么是复合选择器

代码示例7:后代选择器实战(ul、li 变红)

代码示例8:后代选择器进阶(.hobby li、li a)

六、伪类选择器

1) 链接伪类选择器

什么是伪类选择器

代码示例9:链接伪类实战(颜色变化)

代码示例10:输入框伪类实战(颜色变化)


一、选择器的种类

以下内容只是 CSS2 标准中支持的选择器,在 CSS3 中还做出了一些补充,咱们后面再说。

  1. 基础选择器:单个选择器构成的

    • 标签选择器

    • 类选择器

    • id 选择器

    • 通配符选择器

  2. 复合选择器:把多种基础选择器综合运用起来。

    • 后代选择器

    • 子选择器

    • 并集选择器

    • 伪类选择器

参考文档:CSS 选择器参考手册

二、类选择器

特点

  • 差异化表示不同的标签

  • 可以让多个标签都使用同一个标签

代码示例1:基础类选择器使用

<style> .blue { color: blue; } </style> <div class="blue">咬人猫</div> <div>咬人猫</div>

代码示例2:类选择器样式叠加(.eat、.sleep、.game)

CSS 文件(demo03.css)

.eat { color: red; } .sleep { color: green; } .game { color: blue; }

HTML 文件(demo03.html)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="./demo03.css"> </head> <body> <p class="eat">吃饭 <p class="sleep">睡觉 <p class="game">玩游戏 </body> </html>

代码示例3:类选择器叠加样式(.play)

CSS 文件(demo03.css)追加

.play { font-size: 80px; }

HTML 文件(demo03.html)追加

<p class="play game">玩游戏

三、id 选择器

和类选择器类似,但有以下区别:

  • CSS 中使用#开头表示 id 选择器

  • id 选择器的值和 html 中某个元素的 id 值相同

  • id 是唯一的,不能被多个标签使用(是和类选择器最大的区别)

代码示例4:基础 id 选择器使用

<style> #ha { color: red; } </style> <div id="ha">哈哈哈</div>

代码示例5:id 选择器多元素使用(fe、server)

CSS 文件(demo04.css)

#fe { color: red; } #server { color: green; }

HTML 文件(demo04.html)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="./demo04.css"> </head> <body> <p id="fe">前端开发 <p id="server">后端开发 </body> </html>

⚠️ 一个页面如果出现了重复的 id 就会报错

四、通配符选择器

使用*的定义,选取所有的标签。

代码示例6:基础通配符选择器使用

* { color: red; }

页面的所有内容都会被改成红色,不需要被页面结构调用。

实际应用:消除默认边距

通配符选择器在实际应用开发中用来针对页面中所有的元素默认样式进行消除,主要用来消除边距。

HTML 文件(demo04.html)

<div id="hahaha">哈哈哈哈哈</div> <div id="fe">前端开发</div>

CSS 文件(demo04.css)追加

#hahaha { color: brown; } * { background-color: beige; }

五、复合选择器(选学)

1. 后代选择器

又叫包含选择器,选择某个父元素中的某个子元素。

语法:元素1 元素2 {样式声明}

  • 元素 1 和元素 2 要使用空格分割

  • 元素 1 是父级,元素 2 是子级,只选元素 2,不影响元素 1

2. 什么是复合选择器

将之前学习的基础选择器进行组合

代码示例7:后代选择器实战(ul、li 变红)

CSS 文件

/* 方式1:直接选 li */ li { color: red; } /* 方式2:选 .red 类 */ .red { color: red; } /* 方式3 */ ol li { color: red; }

HTML 文件

<ul> <li>吃饭</li> <li>吃饭</li> <li>吃饭</li> </ul> <ol> <li class="red">吃饭</li> <li class="red">吃饭</li> <li class="red">吃饭</li> </ol>

代码示例8:后代选择器进阶(.hobby li、li a)

CSS 文件

.hobby li { color: red; } li a { color: red; }

HTML 文件

<ul> <li>吃饭</li> <li>吃饭</li> <li>吃饭</li> </ul> <ol class="hobby"> <li>吃饭</li> <li class="red">吃饭</li> <li class="red">吃饭</li> <li> <a href="#">吃饭</a> </li> </ol>

六、伪类选择器

1) 链接伪类选择器

  • a:link:选择未被访问过的链接

  • a:visited:选择已经被访问过的链接

  • a:hover:选择鼠标指针悬停上的链接

  • a:active:选择活动链接(鼠标按下了但是未弹起)

什么是伪类选择器

用来定义元素状态的

代码示例9:链接伪类实战(颜色变化)

CSS 文件

a { color: black; } a:hover { color: red; } a:active { color: green; }

HTML 文件

<a href="#">不跳转</a>

代码示例10:输入框伪类实战(颜色变化)

CSS 文件

input { color: blue; } input:hover { color: red; } input:active { color: green; }

HTML 文件

<input type="button" value="按钮">
http://www.jsqmd.com/news/916203/

相关文章:

  • 基于Arduino与MPU6050的高精度姿态测量系统设计与实现
  • Windows驱动管家终极指南:Driver Store Explorer让你彻底告别驱动混乱
  • 无代码AI手势识别:一小时搭建石头剪刀布人机对战游戏
  • Windows右键菜单终极清理指南:3分钟让电脑操作效率翻倍 [特殊字符]
  • 3分钟解锁网易云音乐NCM格式:让加密音乐重获自由播放能力
  • ncmdumpGUI:免费解锁网易云音乐NCM格式的终极解决方案
  • 周红伟:大盘总结 + 大摩数字经济C分析
  • VCS仿真不出波形?可能是你踩了这几个坑(附Verdi FSDB生成全攻略)
  • 低成本仿生机械手DIY:基于Arduino与舵机的完整制作教程
  • 2026报考建议:沈阳城市建设学院多少分能上?录取线高不高 - 品牌2025
  • 针对吉利生产的电池进行外观检测和工艺质量检测--vscode YoloV8目标检测
  • 2026年EPS怎么转PDF?多种方法+在线工具,保姆级教程一看就会
  • 短信黑名单检测怎么选?企业短信风控降本防投诉选型指南
  • 基于Arduino与MPU-6050的自平衡球机器人:从倒立摆模型到PD控制实战
  • 基于树莓派与Flask的机械臂HTTP API远程控制实战
  • 基于Blues无线与AI的智能家居中枢:从架构设计到实战部署
  • Audiveris:将纸质乐谱一键转换为数字乐谱的智能工具
  • 别再死记硬背了!用Python+PuLP库5分钟搞定匈牙利算法指派问题
  • 2026 常州防水维修全攻略|卫生间、阳台、屋顶、地下室漏水根治避坑指南 - 吉修匠
  • VisualGGPK2:流放之路游戏资源编辑器完整指南
  • 基于树莓派的智能库存管理系统:从硬件搭建到Web应用全栈实践
  • WorkshopDL终极指南:3步免费解锁Steam创意工坊模组
  • 别再死记硬背了!用‘开环法’手把手推导四种反馈结构的输入输出阻抗
  • 复古合成器维修实战:从CMOS逻辑故障到TOG芯片的修复哲学
  • 2026神器榜!好用的降AIGC工具实测,过审成功率直接拉满
  • 基于Arduino与3D打印的自主避障机器人全流程实战指南
  • 2026择校指南:沈阳城市建设学院住宿条件怎么样?有空调吗? - 品牌2025
  • 2026年杭州电商公司如何用技术引领行业新潮流
  • Display Driver Uninstaller深度解析:显卡驱动彻底清理的技术架构与实现机制
  • AirSim无人机仿真避坑:用Pygame实现键盘控制时,如何解决‘漂移’和‘延迟’问题?