我一直在研究一种纯粹使用html和css构建轮播的方法。
没有Javascript。
到目前为止,我一直很喜欢在网上找到的内容,并看了一些教程。

这是我的问题。
我用Less构建了一个mixin循环来构建一堆CSS,但是由于某种原因,它似乎在第4行(下面粘贴的代码的第4行)上缺少了closing brace ")"

我试过的


完全删除更少的代码块->错误消失了。
删除.carousel-reviews->错误内的所有代码仍然存在
删除了子选择器周围的.carousel-reviews->错误仍然存​​在
变量名称从@i更改为@index->错误仍然存​​在
&__activator:nth-of-type( @i )选择器内部删除所有代码->错误仍然存​​在


希望有人在这里看到我在做什么错。

.loop( @i ) when ( @i > 0 ) {

.carousel-reviews {
    &__activator:nth-of-type( @i ) {
        &:checked ~ .carousel_track {
            transform: translateX(calc(@i - 1) * 100%);
        }
        &:checked ~ .carousel__slide:nth-of-type(@i) {
            transition: opacity @slideTransition, transform @slideTransition;
            top: 0;
            left: 0;
            right: 0;
            opacity: 1;
            transform: scale(1);
        }
        &:checked ~ .carousel__controls:nth-of-type(@i) {
            display: block;
            opacity: 1;
        }
        &:checked ~ .carousel__indicators .carousel__indicator:nth-of-type(@i) {
            opacity: 1;
        }
    }
  }
.loop ( ( @i - 1 ) );
}


如果我不够完整,请告诉我,我可以将信息添加到问题中。


编辑1
看来编译器在到达第4行的第一个@i时正在停止。
由于某种原因,当我删除第一个变量时,错误移至第8行。
这表明出于某种原因,@i中不允许使用变量:nth-of-type()
有人知道这是怎么回事吗?当我发现新的答案或问题时,我将继续搜索和更新

编辑2
找到了解决方案。检查答案

最佳答案

所以看来我找到了问题。

看来问题本身在于:nth-of-type()中变量的使用。

当我从第n个类型中删除变量时,我注意到错误转移到了也包含第n个类型的新行。
当我花更少的时间去查找变量的使用时,我什么都没找到,后来我在堆栈溢出中遇到了一个帖子

THIS ANSWER BY MARTIN TURJAK

我建议检查一下。
简而言之,变量use似乎存在问题,您必须像在:nth-of-type(@{i})这样的字符串中使用它一样使用它。

希望这可以帮助其他人解决同样的问题。
我目前没有时间找出发生这种情况的原因,我也没有任何线索,但是如果有人可以解释这一点,那将是很棒的。

无论如何,感谢您的宝贵时间,祝您愉快!

关于css - 更少的循环在编译时丢失“)”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54362828/

10-11 20:16