sass - 高效的 SASS 循环
问题描述
我目前有一些像这样的手工编码的 SASS;
.tl1 td, .tl1 /deep/ th,
.tl2 td, .tl2 /deep/ th,
.tl3 td, .tl3 /deep/ th,
.tl4 td, .tl4 /deep/ th,
.tl5 td, .tl5 /deep/ th,
....
{ text-align: left; }
我正在尝试将其重构为 SASS for 循环,但是,如果不对每一行进行新的声明,尚不清楚如何做到这一点。
IE - 这个 SASS 循环;
@for $i from 1 through 50 {
.tl#{$i} td, .tl#{$i} /deep/ th {
text-align: left;
}
}
使每个语句原子化,就像这样;
.tl1 td, .tl1 th
{
text-align: left;
}
.tl2 td, .tl2 th
{
text-align: left;
}
.tl3 td, .tl3 th
{
text-align: left;
}
...
有没有办法将所有选择器组合在一起,就像手工编码的例子一样?
解决方案
在循环中使用@extend
以将具有相同值的不同规则分组。
%text-left{
text-align: left;
}
@for $i from 1 through 50 {
.tl#{$i}{
td, th, /* deep */ th {
@extend %text-left;
}
}
}
推荐阅读
- php - .htaccess 删除 "?page="
- types - 为什么不同的数据类型有不同的存储大小
- emacs - 组织模式:乳胶导出。我想要边框的例子
- android - 如何连接一些带有音频流的视频和一些没有音频流的视频
- typescript - 反应原生时未安装的组件错误
- php - 从数组中递归提取键路径 - 不包括数字键
- javascript - 使用 REACTJS 中的 fetch() 函数进行 API CALL 时未加载数据
- javascript - 循环“冻结”我的网站。- 如何减少循环次数?
- java - 请求的资源 [/ServletTamil_war_exploded/hello-servlet] 不可用
- python-3.x - Virtualenv 和 VSCode 的问题