03.CSS嵌套 (Nesting)

CSS嵌套允许你通过将选择器嵌套在一起来编写更易维护和逻辑清晰的样式规则,类似于Sass等预处理器,但这是CSS的原生功能。

本章概述

CSS嵌套是现代CSS中的一个革命性特性,它让开发者能够以更直观、更有组织的方式编写样式代码。通过嵌套,你可以创建反映HTML结构的CSS代码,提高代码的可读性和可维护性。

学习目标

  • 理解CSS嵌套的基本概念和语法

  • 掌握嵌套选择器的使用方法

  • 学会使用父选择器引用(&)

  • 了解嵌套的最佳实践和注意事项

  • 掌握嵌套与媒体查询的结合使用

CSS嵌套基础

基本语法

CSS嵌套允许你将一个选择器写在另一个选择器内部:

go 复制代码
.blog {
  position: relative;
  padding: 1rem;
  background: var(--neutral-100);

  .blog-item {
    border: 1px solid var(--neutral-200);
    margin-bottom: 1rem;
    border-radius: 8px;

    & span {
      font-size: 1rem;
      color: var(--text-secondary);
    }
  }
}

这等同于传统的CSS写法:

go 复制代码
.blog {
  position: relative;
  padding: 1rem;
  background: var(--neutral-100);
}

.blog .blog-item {
  border: 1px solid var(--neutral-200);
  margin-bottom: 1rem;
  border-radius: 8px;
}

.blog .blog-item span {
  font-size: 1rem;
  color: var(--text-secondary);
}

父选择器引用 (&)

相关推荐
洋洋技术笔记几秒前
计算属性与侦听器
前端·vue.js
用户81448695811几秒前
“马上”有惊喜:在 Rokid 灵珠平台上构建 FPS 级 AR 红包雷达应用
前端
李剑一7 分钟前
拿来就用!Vue3+Cesium 飞入效果封装,3D大屏多场景直接复用
前端·vue.js·cesium
天蓝色的鱼鱼35 分钟前
都2026年了还不会Vite插件开发?手写一个版本管理插件,5分钟包会!
前端·vite
苏武难飞1 小时前
分享一个33号远征队的效果!
前端
鹏程十八少1 小时前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
亿元程序员1 小时前
这款值68亿的游戏,你不实战一下吗?安排!
前端
摸鱼的春哥2 小时前
Agent教程15:认识LangChain(中),状态机思维
前端·javascript·后端
明月_清风2 小时前
告别遮挡:用 scroll-padding 实现优雅的锚点跳转
前端·javascript
明月_清风2 小时前
原生 JS 侧边栏缩放:从 DOM 监听到底层优化
前端·javascript