sass: когда мне нужно @include для вызова mixin?
Согласно документу, мы используем @include
чтобы вызвать миксин, но в моем случае у меня есть что-то вроде этого:
@import "components/color";
/*NavBar*/
#g-navigation{background:linear-gradient(to top,rgba(0,0,0,0), color(blue,base) 80%) !important}
Для миксин color
(который определен в components/_color.scss
) Мне не нужно использовать @include
на самом деле, если я делаю
#g-navigation{background:linear-gradient(to top,rgba(0,0,0,0), @include color(blue,base) 80%) !important}
миксин не будет выполнен, а компилятор просто сохранит @include
как в выходном файле. Так почему это? И когда именно мне нужно @include
для смешивания?
2 ответа
@include
для миксинов; когда вы видите что-то используемое без него, например, color(...)
это на самом деле функция. Mixins может возвращать произвольный контент - как правило, несколько объявлений правил - но функции просто возвращают значения. Итак, вы увидите функции, используемые после :
в декларации, а миксины используются как отдельные @include
заявления.
За background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
вам нужны значения направления и цвета (имена, RGB и т. д.), и вы даете mixin, который используется для вставки porperty + value, а не только value. Вы можете использовать переменные SASS для этого.