Я получаю эту ошибку:
While processing files with fourseven:scss (for target web.browser):
/client/stylesheets/main.scss: Scss compiler error: expected a variable name (e.g. $x)
or ')' for the parameter list for pos-abs
Это мой @mixin
:
_mixins.scss:
@mixin pos-abs ($top, $right, $bottom, $left) {
position: absolute;
top: percentage($top + 'px'/$h);
right: percentage($right + 'px'/$w);
bottom: percentage($bottom + 'px'/$h);
left: percentage($left + 'px'/$w);
};
Это, как я называю @mixin
:
_foo.scss:
@mixin pos-abs(0, 313, 0, 12);
Здесь я объявил vars
:
_sizes.scss:
$w: 375px;
$h: 662px;
Это мой файл порядок загрузки:
main.scss:
@import "sizes";
@import "mixins";
@import "foo";
P.S. Если удалить $ часов & $ шvars
и жёстко их в @mixin
(e.g. top: percentage($top + 'px'/662px);)
- я получаю ту же ошибку. Если я удалю все + 'px'
из своего @mixin
и прохожу args
в mixin like: @mixin pos-abs(0px, 313px, 0px, 12px);
- ошибка сохраняется.
Где моя ошибка?
Я не использовал Sass/SCSS много, но разве вы не должны использовать '@ include' для вызова mixin вместо' @ mixin'. И даже после этого вы можете столкнуться с проблемой в процентной функции, потому что, когда вы добавляете 'px' в число, это станет строкой, и математические операции на нем не будут работать. Вы должны попробовать использовать '$ top * 1px/$ h' и т. Д. – Harry