更少的CSS-混入参数和第n个子项-无循环

更少的CSS-混入参数和第n个子项-无循环,css,css-selectors,arguments,less,less-mixins,Css,Css Selectors,Arguments,Less,Less Mixins,我试图写一个与id#p0x1关联的更少的参数。我想写一个论点,比如 @ytrans = translateY(@argument * 2) 然后为每个ID提供该参数值 #p0x1(@argument:3){@ytrans} 但是,我无法使用第n个子css实现这一点。我只见过通过循环解决这个问题的解决方案。有没有一种更直接的方式来处理这个问题 #p0x1 div:nth-child(1)(@argument:3){ 这是我目前拥有的代码 /*Cube Position 0,1*/

我试图写一个与id#p0x1关联的更少的参数。我想写一个论点,比如

@ytrans = translateY(@argument * 2) 
然后为每个ID提供该参数值

#p0x1(@argument:3){@ytrans} 
但是,我无法使用第n个子css实现这一点。我只见过通过循环解决这个问题的解决方案。有没有一种更直接的方式来处理这个问题

#p0x1 div:nth-child(1)(@argument:3){ 

这是我目前拥有的代码

/*Cube Position 0,1*/

#p0x1 div:nth-child(1) {
  transform         : @zaxis @ytrans;
    background-image: linear-gradient(@gradient);
}
#p0x1 div:nth-child(2) {
  transform         : @top @zaxis @ytrans;  
    background-image: linear-gradient(@gradient);
}
#p0x1 div:nth-child(3) {
  transform         : @back @zaxis @ytrans;
    background-image: linear-gradient(@gradient);
}
#p0x1 div:nth-child(4) {
  transform         : @bottom @zaxis @ytrans;
    background-image: linear-gradient(@gradient);
}
#p0x1 div:nth-child(5) {
    transform: @left @zaxis @ytrans;
    background-image: linear-gradient(@gradient);
}
#p0x1 div:nth-child(6)  {
    transform         : @right @zaxis @ytrans;
    background-image: linear-gradient(@gradient);
}

我终于能够找到这个解决方案的帮助下,一个辉煌的个人名字谁帮助我的工作


我的解决方案
坐标(-2,2);
.坐标(@min,@max){

.xcoor;.xcoor(@xcoor:@min)when(@xcoor:@min)如果我误解了你的问题,很抱歉,但答案仍然使用循环(事实上是两个循环).你完全正确。我的无知让我相信,在每个第n个子节点上进行自定义时,循环效率会降低。这种无知是我的错误。也就是说,有一点很好,那就是这纯粹是实验性的。任何人都不应该在web应用程序中使用60000行。
.coordinates(-2, 2);
     .coordinates(@min, @max) {
    .xcoor; .xcoor(@xcoor: @min) when (@xcoor <= @max) {
        .ycoor; .xcoor(@xcoor + 1);
    }
    .ycoor(@ycoor: @min) when (@ycoor <= @max) {
        @ytrans:translatey(@cubesize * @ycoor);
        @xtrans:translatex(@cubesize * @xcoor);
#p@{xcoor}x@{ycoor} div:nth-child(1) {
  transform: @zaxis @ytrans @xtrans;
    background-image: linear-gradient(@gradient);
}
#p@{xcoor}x@{ycoor} div:nth-child(2) {
  transform: @top @zaxis @ytrans @xtrans;   
    background-image: linear-gradient(@gradient);
}
#p@{xcoor}x@{ycoor} div:nth-child(3) {
  transform: @back @zaxis @ytrans @xtrans;
    background-image: linear-gradient(@gradient);
}
#p@{xcoor}x@{ycoor} div:nth-child(4) {
  transform: @bottom @zaxis @ytrans @xtrans;
    background-image: linear-gradient(@gradient);
}
#p@{xcoor}x@{ycoor} div:nth-child(5) {
    transform: @left @zaxis @ytrans @xtrans;
    background-image: linear-gradient(@gradient);
}
#p@{xcoor}x@{ycoor} div:nth-child(6)  {
    transform: @right @zaxis @ytrans @xtrans;
    background-image: linear-gradient(@gradient);
}
        .ycoor(@ycoor + 1);
    }
}