Самое близкое, что SASS имеет к массиву, - это список, который вы можете перебирать с помощью директивы @each, например:
@mixin roundcorners($collection: (top-left, top-right, bottom-right, bottom-left), $radius: 0)
@each $corner in $collection
border-#{$corner}-radius: $radius
http://sass -lang.com / документы / yardoc / file.SASS_REFERENCE.html # каждая Директива
Я использовал интерполяцию строк, чтобы сбросить значение записи списка в самом правиле - я не совсем уверен, что это допустимо, но я не в моем dev. Машина для проверки.
Я также использовал значения по умолчанию для аргументов, что означает, что вы можете передавать в произвольном радиусе. Если вы пропустите какой-либо угол в списке, вы очистите весь список по умолчанию (я думаю, это то, что вы хотите, но что-то, что нужно знать).
Другой, более простой способ сделать это может быть:
@mixin rounded($topLeft:false, $topRight:false, $bottomRight:false, $bottomRight:false)
@if $topLeft != false
border-top-left-radius: $topLeft
@if $topRight != false
border-top-right-radius: $topRight
@if $bottomRight != false
border-bottom-right-radius: $bottomRight
@if $topLeft != false
border-bottom-left-radius: $topLeft
Установив значения по умолчанию, вы можете назвать этот миксин следующим образом:
@include rounded(false, 9px, false, 9px)
Использование «false» вместо 0 в качестве значения по умолчанию означает, что вы не создаете больше правил радиуса, чем вам нужно. Это также означает, что вы можете переопределить и установить углы обратно на 0 радиуса, если вам нужно.