我一直在研究一种纯粹使用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/