Madeas
@Madeas
UI / UX Designer, Frontend Developer

Как в SCSS сделать увеличенное значение?

Можно ли при помощи средств SASS сделать постепенное увеличение отступов? Т.е. каждое следующее значение должно на 5px левее. К сожалению, ничего умнее чем в примере в голову не пришло, но это не то.
Вот код:

@mixin last-childs {
    @for $i from 2 through 7 {
        &:nth-last-child(#{$i}) {
           margin-left: calc(40px - #{$i}px);
        }
    }
}


Или придется вручную писать?
Надо так:
&:nth-last-child(7) {
        margin-left: 10px;
    }
    &:nth-last-child(6) {
        margin-left: 15px;
    }
    &:nth-last-child(5) {
        margin-left: 20px;
    }
    &:nth-last-child(4) {
        margin-left: 25px;
    }
    &:nth-last-child(3) {
        margin-left: 30px;
    }
    &:nth-last-child(2) {
        margin-left: 35px;
    }
    &:last-child {
        margin-left: 40px;
    }
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
@Flying
На самом деле ваш пример почти корректен, только чуть доработать:
@mixin last-childs {
    @for $i from 7 through 1 {
        &:nth-last-child(#{$i}) {
           margin-left: 40px - 5px * ($i - 1);
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы