作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 SCSS 中有以下循环:
@for $i from 1 to 5 {
.thing-#{$i} {
@if $i == 1 {
& + & { /* some styles */ }
}
@if $i == 2 {
& + & + & { /* some styles */ }
}
@if $i == 3 {
& + & + & + & { /* some styles */ }
}
@if $i == 4 {
& + & + & + & + & { /* some styles */ }
}
}
}
& + &
的行以编程方式?
& + ((+ &) * $i) { /* styles */ }
最佳答案
你不能用这个语法实现每个函数,你会出现这个语法错误Invalid CSS after "@each $i ": expected "in", was "from 1 to 5 {"
.您应该使用 for
功能。
如果将此函数转换为算法,则每一步都将具有相同的样式。如果您想要类似的东西,您可以尝试以下操作:
$var: #{"&"};
@for $i from 1 to 5 {
.thing-#{$i} {
#{append($var, #{"+ &"})} {
color: red;
}
}
$var: append($var, #{"+ &"});
}
.thing-1 + .thing-1 {
color: red;
}
.thing-2 + .thing-2 + .thing-2 {
color: red;
}
.thing-3 + .thing-3 + .thing-3 + .thing-3 {
color: red;
}
.thing-4 + .thing-4 + .thing-4 + .thing-4 + .thing-4 {
color: red;
}
关于SASS:如何在@each 或@for 中打印 n 次 `&`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26134023/
我是一名优秀的程序员,十分优秀!