LESS - 数学设定位置
LESS - Mathematics to set position
我是否可以用更少的代码编写 classes 以便具有相同 class 的每个元素都比前一个兄弟元素减去 56px?
到目前为止我的代码示例如下:
.complete {
position:absolute
&[data-step="1"] { left:-725px; }
&[data-step="2"] { left:-669px; }
&[data-step="3"] { left:-613px; }
&[data-step="4"] { left:-557px; }
}
这似乎不是一种有效的做事方式,因为在某些情况下可能会有超过 4 个步骤。我可以使用 nth-child 但这也与是否有超过 4 个步骤有关。
提前致谢!
您可以使用 loop。这应该适用于您的情况:
.loop(@counter) when (@counter > 0) {
.loop((@counter - 1));
&[data-step="@{counter}"] { left:(-725 + (@counter - 1) * 56px); }
}
.complete {
position:absolute;
.loop(4);
}
我是否可以用更少的代码编写 classes 以便具有相同 class 的每个元素都比前一个兄弟元素减去 56px?
到目前为止我的代码示例如下:
.complete {
position:absolute
&[data-step="1"] { left:-725px; }
&[data-step="2"] { left:-669px; }
&[data-step="3"] { left:-613px; }
&[data-step="4"] { left:-557px; }
}
这似乎不是一种有效的做事方式,因为在某些情况下可能会有超过 4 个步骤。我可以使用 nth-child 但这也与是否有超过 4 个步骤有关。
提前致谢!
您可以使用 loop。这应该适用于您的情况:
.loop(@counter) when (@counter > 0) {
.loop((@counter - 1));
&[data-step="@{counter}"] { left:(-725 + (@counter - 1) * 56px); }
}
.complete {
position:absolute;
.loop(4);
}