css - SASS - “内部元素”选择器
问题描述
考虑一些我指定颜色的选择器。当它们在其他元素中时,我希望它们具有不同的颜色。SCSS:
.a, .b, .c {
color: white;
}
.black {
.a, .b, .c {
color: black;
}
}
它可以写得更短(不重复选择器)吗?我尝试@at-root
使用
.a, .b, .c {
color: white;
@at-root .black #{&} {
color: black;
}
}
但结果并不如预期:
.a, .b, .c {
color: white;
}
.black .a, .b, .c {
color: black;
}
解决方案
您可以为 abccolor 创建一个 mixin,然后通过 black 类运行它并在参数中添加您自己的颜色变量:
@mixin abccolour($color) {
.a, .b, .c {
color: $color;
}
}
@include abccolour(white);
.black {
@include abccolour(black);
}
这给了我们这个:
.a, .b, .c {
color: white;
}
.black .a, .black .b, .black .c {
color: black;
}
然后你可以在别处重用那个 abccolor mixin。我使用Online SCSS Compiler测试了这个 mixin 。
推荐阅读
- java - java.lang.RuntimeException:无法启动活动 ComponentInfo:Sqlite 异常”错误
- node.js - 如何使用 Redis 缓存进行分页?
- multilingual - 如何识别第二个键盘的按键?
- google-compute-engine - 没有域的 Google Cloud VPS 计算引擎
- quickbooks - 为什么 quickbooks.api.intuit.com/v3/company/
/upload?minorversion=45 返回:“超出最大行长度限制” - vb.net - 在 Microsoft Word 文档中创建 ImageBox 并使用 Visual Basic 插入图像
- reactjs - 在反应中显示 Flash 消息
- c# - 尝试访问 FTP 服务器时频繁出现 FTP 错误 550
- java - 如何制作下载按钮以检索 sql 数据库中的 pdf 文件?(java swing)
- excel - 格式设置范围为特定货币格式所有工作表