【问题标题】:need help in creating scss function to return string在创建 scss 函数以返回字符串时需要帮助
【发布时间】:2014-04-02 09:59:43
【问题描述】:

我需要在很多地方包含模块导入,所以我想在 scss 中创建 mixin 或函数。

在我的 mixin.scss 上

 @function import-modules($import,$grid){
      @return $import +' modules/modulename_'+$grid ;
  }

在我要导入的 main.scss 中,我有

import-modules (@import,1024);

但它会给我带来错误。如何创建返回导入语句的函数?

我得到的错误:“import-modules”之后的无效 CSS:预期的“{”,是“('@import',1024);”)

谢谢你的回答,我这样修改试了一下:

$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");

【问题讨论】:

    标签: css sass mixins


    【解决方案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

    【讨论】:

    • 请查看修改后的评论。基本上,它停止导入并开始打印导入语句。
    猜你喜欢
    • 2011-09-08
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多