我需要在很多地方包含模块导入,所以我想在scss中创建mixin或函数。
在我的mixin.scss
上
@function import-modules($import,$grid){
@return $import +' modules/modulename_'+$grid ;
}
在main.scss我要导入的地方,我有
import-modules (@import,1024);
但它会引发我的错误。如何创建一个函数来返回import语句?
我得到的错误:#34之后的无效CSS;导入模块":预期" {",是"(' @ import',1024 );&#34)
感谢您的回答,我修改并尝试了这种方式:
$modulesList: 'modules/header/header_',
'modules/news/news_',
'modules/footer/footer_',
'modules/follow_us/follow_us_',
'modules/ads/ads_',
'modules/newsletter/newsletter_',
'modules/comments/comments_';
@function import-modules($grid){
@each $module in $modulesList{
@return $module+$grid;
}
}
@import url(import-modules(1024));
在css中,我看到: @import url(" modules / header / header_1024");
答案 0 :(得分:1)
Sass不会执行任意字符串。如果要导入文件,则必须使用@import
指令。
@function import-modules($grid){
@return 'modules/modulename_#{$grid}';
}
@import url(import-modules(1024));
...然而
导入可能包含#{}插值,但仅限于某些限制。根据变量动态导入Sass文件是不可能的;插值仅适用于CSS导入。因此,它仅适用于url()导入。
来源:http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import