【问题标题】:Import of same file using compass / sass / scss does not get included不包括使用 compass / sass / scss 导入同一文件
【发布时间】:2016-08-10 22:48:46
【问题描述】:

我有这个 scss 文件:

test.scss

@media screen and (min-width: 1200px)  {
  @import 'desktop_vars';
  @import 'global_dynamic';
}
@media screen and (max-width: 767px)  {
  @import 'smartphone_vars';
  @import 'global_dynamic';
}

global_dynamic.scss

#companies {
  margin: 0px $envelope-Margin-Right 0 $envelope-Margin-Left;
}

#envelope {
  padding: 0 $envelope-Margin-Right 0 $envelope-Margin-Left;
}

#footer {
  margin: 0 $envelope-Margin-Right 0 $envelope-Margin-Left;
}

smartphone_vars.scss

$envelope-Margin-Left: 5px;
$envelope-Margin-Right: 7px;

desktop_vars.scss

$envelope-Margin-Left: 25px;
$envelope-Margin-Right: 47px;

生成的 test.css:

@media screen and (min-width: 1200px) {
  /* line 1, ../../resources/assets/sass/global_dynamic.scss */
  #companies {
    margin: 0px 45px 0 25px;
  }

  /* line 5, ../../resources/assets/sass/global_dynamic.scss */
  #envelope {
    padding: 0 45px 0 25px;
  }

  /* line 9, ../../resources/assets/sass/global_dynamic.scss */
  #footer {
    margin: 0 45px 0 25px;
  }
}

如果我在 test.scss 中更改导入的顺序,即先是智能手机,然后是桌面,生成的 css 文件如下所示

@media screen and (max-width: 767px) {
  /* line 1, ../../resources/assets/sass/global_dynamic.scss */
  #companies {
    margin: 0px 7px 0 5px;
  }

  /* line 5, ../../resources/assets/sass/global_dynamic.scss */
  #envelope {
    padding: 0 7px 0 5px;
  }

  /* line 9, ../../resources/assets/sass/global_dynamic.scss */
  #footer {
    margin: 0 7px 0 5px;
  }
}

所以:global_dynamic 的第二次导入永远不会起作用

为什么?

【问题讨论】:

    标签: sass compass-sass


    【解决方案1】:

    在 config.rb 中

    删除这一行:

    require 'compass/import-once/activate'
    

    或者这样注释掉

    #require 'compass/import-once/activate'
    

    好烦

    【讨论】:

      猜你喜欢
      • 2019-05-18
      • 2016-01-25
      • 1970-01-01
      • 2014-05-23
      • 2014-03-26
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 2021-06-04
      相关资源
      最近更新 更多