如何为每个第n个元素添加不同的CSS样式,具体取决于使用LESS的n

Jan*_*ani 5 css padding less

我试图在div中的后续元素中添加不同的填充.我的DOM看起来很简单.

<div class="parent">
   <div>0</div>
   <div>15</div>
   <div>30</div>
   ...
</div>
Run Code Online (Sandbox Code Playgroud)

所以我想我的第一个元素有0填充,我的第二个15,第三个30等.使用LESS,我怎么能让这个工作?我试过了:

.parent div:nth-of-type(n) {
           padding-left: n*15px;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Tem*_*fif 5

我想你想在视觉上实现一个楼梯。在这种情况下,您可以按照以下方式进行操作:

.parent {
  line-height: 1.2em;
}

.parent>div:not(:first-child)::before {
  content: "";
  float: left;
  width: 15px; /*your padding*/
  height: calc(1.2em + 2px);

}
Run Code Online (Sandbox Code Playgroud)
<div class="parent">
  <div>0</div>
  <div>15</div>
  <div>30</div>
  <div>45</div>
  <div>60</div>
  <div>75</div>
</div>
Run Code Online (Sandbox Code Playgroud)


לבנ*_*לכה 2

使用 less(但你必须设置元素的数量):

.parent (@indexstart,@index) when (@indexstart < @index ){
  div:nth-child(@{indexstart}){
    padding-left: (@indexstart - 1) * 15px;
  }
  .parent (@indexstart + 1,@index);
}
.parent (1,4);
Run Code Online (Sandbox Code Playgroud)

参见示例