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

CSS的复合选择器

CSS选择器是前端开发中非常重要的基础知识,而复合选择器则是其中功能强大且实用的部分。本文将详细介绍各种复合选择器的用法和应用场景,帮助您更高效地选择和控制页面元素。

1. 后代选择器(空格)

后代选择器通过空格连接两个选择器,用于选择嵌套在父元素内部的所有匹配子元素,不论嵌套层级有多深。

语法:祖先选择器  后代选择器{}

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>复合选择器</title><style>.container .box1-1 {width: 100px;height: 100px;background-color: #19ff32;color: #5440ff;}</style>
</head>
<body><div class="container"><!--作为container的亲儿子--><div class="box1-1">我是儿子</div><div class="box1"><!--做为container的孙子--><div class="box1-1">我是孙子<div class="box1-1"><!--做为container的孙孙-->我是孙孙子</div></div></div></div>
</body>
</html>

运行结果: 

  

注意点:
1. 后代包括:⼉⼦、孙⼦、重孙⼦……
2. 后代选择器中,选择器与选择器之前通过 空格 隔开

2. 子代选择器(>)

子代选择器使用>符号,只选择直接子元素,不会选择更深层级的元素。

语法:子代选择器:亲父亲选择器>亲儿子选择器{}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>子代选择器</title><style>.container>.box1{width: 100px;height: 100px;background-color: #19ff32;}</style>
</head>
<body><div class="container"><!--作为container的亲儿子--><div class="box1">我是儿子</div><div class="box1-1"><!--做为container的孙子--><div class="box1">我是孙子<div class="box1"><!--做为container的孙孙-->我是孙孙子</div></div></div></div>
</body>
</html>
注意点:
1. ⼦代只包括:⼉⼦
2. ⼦代选择器中,选择器与选择器之前通过 > 隔开

3. 并集选择器(,)

并集选择器可以同时选择多个元素,为它们设置相同的样式。

语法:并集选择器:选择器1,选择器2....{}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>并集选择器</title><style>h1,div p, .outer{width:100px;height:100px;background-color: red;}</style>
</head>
<body><h1>我是大标题</h1><h2>我是小标题</h2><p class="outer">我是盒子外部的段落!!!</p><div><p class="inner">我是盒子内部的段落!!!</p></div>
</body>
</html>

注意点:
1. 并集选择器中的每组选择器之间通过 , 分隔
2. 并集选择器中的每组选择器可以是基础选择器或者复合选择器
3. 并集选择器中的每组选择器通常⼀⾏写⼀个,提⾼代码的可读性

4.交集选择器

交集选择器可以通过对元素的类名和id名以及标签名字,对元素进行精准定位,为它们设置样式。

语法:交集选择器:标签名称.选择器名称{}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>交集选择器</title><style>/*给类名为boxid名为one的元素设置属性*/.box#one {width: 100px;height: 100px;background-color: red;}/*给标签为h2id名为three的元素设置属性*/h2#three{width: 100px;height: 100px;background-color: blueviolet;}</style>
</head>
<body><div class="box"><div class="box" id="one">111</div><h2 class="box" id="two">222</h2><h2 class="box" id="three">222</h2><p class="box" id="four">333</p></div>
</body>
</html>

运行结果:

5.伪类结构选择器:hover{}

伪类结构主要是用来制作鼠标悬停的时候的动态效果。

语法:伪类选择器:hover{}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>伪类结构选择器</title><style>h1:hover{color: red;}.outer:hover{background-color: #ef96c2;}a:hover{color: #0be4d5;}</style>
</head>
<body><h1>我是大标题</h1><p class="outer">伪类结构主要是用来制作鼠标悬停的时候的动态效果。</p><div><a href="http://www.baidu.com">百度一下</a></div>
</body>
</html>

运行结果:

总结: 

复合选择器是CSS中非常强大的工具,合理使用可以:

  1. 减少HTML中的类名依赖,保持代码整洁
  2. 提高样式选择效率,减少重复代码
  3. 实现更复杂的样式控制
  4. 创建丰富的交互效果

相关文章:

  • Python与图像处理:从基础操作到智能应用的全面解析
  • 《理解 Java 泛型中的通配符:extends 与 super 的使用场景》
  • 电力变压器油的<油质气象色谱>指标分析
  • 链式数据存储系统
  • 【数据结构】线性表( List)和 顺序表(ArrayList)
  • Python自学第2天:条件语句,循环语句
  • RestSharp和Newtonsoft.Json结合发送和解析http
  • 协同推荐算法实现的智能商品推荐系统 - [基于springboot +vue]
  • 矢量网络分析仪(VNA)能测什么?5大核心功能与典型应用场景详解
  • 高性能实现手机号模糊查询
  • IDEA2024 pom.xml依赖文件包报红解决
  • EM储能网关ZWS智慧储能云应用(9) — 远程OTA升级
  • RISC-V简介
  • 规范化与反规范化策略白皮书
  • C++解析操作mat文件方法-基于vs2019
  • OCC中的参数方程简介
  • 【Python学习笔记】Pandas实现Excel质检记录表初审、复核及质检统计
  • SadTalker 多表情运行需求
  • Rust 与 JavaScript 的 WebAssembly 互操作指南
  • CSS核心笔记001
  • 蚊媒传染病、手足口病……上海疾控发布近期防病提示
  • “老中青少”四代同堂,季春艳携锡剧《玲珑女》冲击梅花奖
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查
  • 山东市监局回应“盒马一批次‘无抗’鸡蛋抽检不合格后复检合格”:系生产商自行送检
  • 人民日报仲音:大力纠治违规吃喝顽瘴痼疾
  • 茅台1935今年动销达到预期,暂无赴港上市计划!茅台业绩会回应多个热点