Переменные в параметрах в SASS

Бывают ситуации, когда миксин или функция должны принимать неизвестное количество параметров. Для чего в языке SASS есть возможность передачи "переменных параметров" или параметров, которые указываются последними в функции или миксине и упаковывают все остальные переданные параметры в список.

После таких параметров нужно ставить многоточие. Рассмотрим следующий пример:

@mixin box-content-padding($padding...) { -moz-box-content-padding: $padding; -webkit-box-content-padding: $padding; } div { @include box-content-padding(0px 4px 5px 2px); }

Результат компиляции:

div { -moz-box-content-padding: 0px 4px 5px 2px; -webkit-box-content-padding: 0px 4px 5px 2px; }

В переменные функции или миксина также можно передавать именованные параметры. Для того, чтобы к ним можно обратиться используют функцию keywords($args), которая возвращает их как соответствие имён (без знака $) значениям.

@mixin common-colors($text-color, $background, $shadow) { color: $text-color; background-color: $background; box-shadow: $shadow; } $values: white, green, grey; .primary { @include common-colors($values...); } $value-map: (text-color: black, background: grey, shadow: green); .secondary { @include common-colors($value-map...); }

После компиляции мы увидим:

.primary { color: white; background-color: green; box-shadow: grey; } .secondary { color: black; background-color: grey; box-shadow: green; }



Чат с GPT Компилятор