⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

CSS 嵌套规则详解

使用原生 CSS 嵌套语法,像预处理器一样组织样式,减少重复并提高可维护性。 · 难度:入门 · +15XP

原生 CSS 嵌套:终于来了

CSS 嵌套(CSS Nesting)允许你将子选择器直接写在父选择器内部,类似于 Sass/SCSS 的语法。这大大减少了重复书写选择器,使样式表结构更清晰。该功能已获得所有主流浏览器支持(2025年)。

基本语法

使用 & 符号代表父选择器,也可以省略 & 直接写子选择器(但有限制)。

.card {
  background: white;
  border-radius: 8px;
  padding: 16px;

/* 子选择器嵌套 */ .title { font-size: 1.5rem; color: #333; }

/* 使用 & 连接伪类 */ &:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.15); }

/* & 也可以放在后面 */ .dark-theme & { background: #222; color: #eee; } }

嵌套规则与限制

语法示例是否允许
直接嵌套元素选择器.parent { div { ... } }✅ 允许
直接嵌套类选择器.parent { .child { ... } }✅ 允许
包含 & 的复合选择器.parent { &.active { ... } }✅ 允许
没有 & 的伪类.parent { :hover { ... } }❌ 必须写 &:hover
媒体查询嵌套.parent { @media (...) { ... } }✅ 允许

媒体查询嵌套

你可以将媒体查询直接写在样式规则内部:

.sidebar {
  width: 300px;

@media (max-width: 768px) { width: 100%; order: -1; } }

与预处理器嵌套的区别

最佳实践

在右侧编辑器中查看嵌套的样式如何编译为等效的平面选择器。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 122 篇
0 完成
🔥 0