2016-12-15 5 views
-3

У меня есть код SASS, генерирующий классы CSS внутри него, и это хорошо работает. Он имеет для цикла и простого математического выражения.Преобразование математического выражения SASS в LESS

Я хотел преобразовать его в МЕНЬШЕ, но я не могу завершить его сам. Посмотрите на код ниже.

Как я могу скрыть это в код LESS, как это делал SASS?

@for $i from 1 through (($point-count + 1)/2) { 
    &:nth-of-type(#{$i}) { 
     transform: rotate(360deg/$point-count * ($i - 1)); 
    } 

    &:nth-of-type(#{$i + $point-count/2}) { 
     transform: rotate(180deg + 360deg/$point-count * ($i - 1)); 
    } 

    &:nth-of-type(#{$i}), &:nth-of-type(#{$i + $point-count/2}) { 
     &:before { 
      animation-delay: - $spin-animation-time + ($spin-animation-time/$point-count * 2 * ($i - 1)); 
     } 
    } 
} 
+0

Вы можете закодировать простой [цикл] (http://lesscss.org/features/#loops-feature) в LESS? Управлять интерполяцией переменных (за пределами цикла для начала)? – FelipeAls

ответ

0
.loop(@i) when (@i < (@point-count + 1)/2) { 
    .loop((@i + 1)); 

    &:nth-of-type(@{i}) { 
     transform: rotate(360deg/@point-count * (@i - 1)); 
    } 

    @index: @i + @point-count/2; 

    &:nth-of-type(@{index}) { 
     transform: rotate(180deg + 360deg/@point-count * (@i - 1)); 
    } 

    &:nth-of-type(@{i}), 
    &:nth-of-type(@{index}) { 
     &:before { 
      animation-delay: - @spin-animation-time + (@spin-animation-time/@point-count * 2 * (@i - 1)); 
     } 
    } 
} 

.loop(1)