在第n个孩子中使用SASS变量?

时间:2012-10-02 17:14:30

标签: sass

我有一个缩略图图像网格,目前每行4个大拇指。为了确保他们排队我有这段代码:

li:nth-child(5) { margin-left: 0;}

我试图做的是这样但我收到语法错误:

 $galleryGrid: 5;
    li:nth-child($galleryGrid) { margin-left: 0;}

如果我想改变第n个孩子使用另一个值,例如10(所以我可以连续8个拇指),我认为这样可行。 这是不可能的还是我做错了?!

先谢谢你的帮助。

1 个答案:

答案 0 :(得分:45)

您需要使用变量插值来允许nth-child成为变量。

$galleryGrid: 5;
li:nth-child(#{$galleryGrid}) { margin-left: 0;}

生成

li:nth-child(5){margin-left:0}

如果你对图像和布局有绝对的控制权,那么这个标记很好,以确保你的元素总是以每第5个开始一个新行的方式进行换行。如果你不能做出这样的保证,那么在父元素上设置负边距是一种更好的方法。