Sass中的 & 符号代表父选择器,用于生成伪类、组合类名及响应式样式。通过嵌套结合 & 可实现 BEM 命名、状态修饰和媒体查询下的精准控制,如 .btn:hover、.card__title 和 .header.fixed 的生成,提升代码结构清晰度与维护性,但应避免过度嵌套以保证性能。
Sass 的嵌套功能让 CSS 结构更清晰,尤其在处理复杂选择器时非常实用。结合父选择器 &,可以高效生成特定组合、伪类、状态或响应式样式。
.btn {
&:hover {
background-color: darkblue;
}
}
.btn:hover {
background-color: darkblue;
}
.card {
&__title {
font-size: 1.5em;
}
&--featured {
border: 2px solid gold;
}
}
.card__title { font-size: 1.5em; }
.card--featured { border: 2px solid gold; }
.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层),否则可能影响性能和调试。