css – LESS混合为第n个孩子?

我试图制作一个LESS mixin,这将给我这个输出
.resource:nth-child(8n+1) { clear: left; }

我到现在为止

.wrap-every(@n) {
    &:nth-child(@n + "n+1") {  // parse error on this line
        clear: left;
    }
}

.resource {
    .wrap-every(8);
}

但是它在指示的行上发出解析错误

ParseError: Unrecognised input

有没有办法做到这一点?

解决方法

较少≥= 1.4

你可以这样做:

.wrap-every(@n) {
  &:nth-child(@{n}n + 1) {
        clear: left;
    }
}

这应该有所需的输出.没有任何黑客需要.

在较少的较少的经验

你可以尝试简单的字符串插值:

.wrap-every(@n) {
    @t: ~":nth-child(@{n}n + 1)";
    &@{t} {
        clear: left;
    }
}

而这两种情况下的输出CSS应该是这样的:

.resource:nth-child(8n + 1) {
  clear: left;
}

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效