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; }
注意:&.active 表示同时拥有 .menu-item 和 .active 类的元素。
响应式设计中的嵌套
在媒体查询中也可以使用 & 来限定当前选择器的作用范围。
.header {
width: 100%;
@media (min-width: 768px) {
&.fixed {
position: fixed;
top: 0;
}
}
}
这样只有在屏幕宽度达到 768px 以上时,.header.fixed 才会应用固定定位样式。
基本上就这些。合理使用嵌套和 & 能提升代码可读性和维护性,但避免过度嵌套(建议不超过3层),否则可能影响性能和调试。
以上就是css工具Sass嵌套与父选择器结合使用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1009995.html
微信扫一扫
支付宝扫一扫