Sass 中的 & 符号代表父选择器,用于生成伪类、组合类名及响应式样式。通过嵌套结合 & 可实现 BEM 命名、状态修饰和媒体查询下的精准控制,如 .btn:hover、.card__title 和 .header.fixed 的生成,提升代码结构清晰度与维护性,但应避免过度嵌套以保证性能。

Sass 的嵌套功能让 CSS 结构更清晰,尤其在处理复杂选择器时非常实用。结合父选择器 &,可以高效生成特定组合、伪类、状态或响应式样式。
理解父选择器 &
在 Sass 中,& 符号代表嵌套规则中的父选择器。它不是简单的字符串替换,而是指向当前作用域的上级选择器。 例如:.btn {
&:hover {
background-color: darkblue;
}
}
.btn:hover {
background-color: darkblue;
}
组合类名与 BEM 命名法
使用 & 可以轻松实现 BEM(块-元素-修饰符)模式。.card {
&__title {
font-size: 1.5em;
}
&--featured {
border: 2px solid gold;
}
}
.card__title { font-size: 1.5em; }
.card--featured { border: 2px solid gold; }
处理伪类和状态
常见交互状态如 :hover、:focus、:active 可直接通过 & 快速绑定。.menu-item {
padding: 10px;
&:hover,
&:focus {
color: blue;
}
&.active {
font-weight: bold;
}
}
.menu-item:hover, .menu-item:focus { color: blue; }
.menu-item.active { font-weight: bold; }
响应式设计中的嵌套
在媒体查询中也可以使用 & 来限定当前选择器的作用范围。.header {
width: 100%;
@media (min-width: 768px) {
&.fixed {
position: fixed;
top: 0;
}
}
}
基本上就这些。合理使用嵌套和 & 能提升代码可读性和维护性,但避免过度嵌套(建议不超过3层),否则可能影响性能和调试。









