【问题标题】:Change indentation in Sass在 Sass 中更改缩进
【发布时间】:2012-11-21 06:34:14
【问题描述】:

在使用 Sass 时,如何将输出 CSS 文件中的缩进从 2 个空格更改为 4 个空格?我正在使用扩展样式。我对Ruby一无所知,但我尝试在我的计算机上读取/Library/Ruby/Gems/1.8/gems/sass-3.2.1/中的每个rb文件。

【问题讨论】:

  • 我问过自己同样的问题,但到目前为止还没有找到答案。我很好奇。

标签: ruby sass


【解决方案1】:

sass-3.2.3/lib/sass/tree/visitors/to_css.rb 有许多用于缩进的硬编码双空格字符串 (' ')。如果您将它们全部替换为四个空格的字符串,它将按照您的说明编译您的 css。

【讨论】:

  • 感谢您的回答,但这对我不起作用。实际上这是我尝试的第一件事。缩进保留在 2 个空格上。
  • 你是如何编译你的 sass 文件的?
  • 我正在通过 mac 上的终端编译 sass 文件,使用命令“watch”。答案实际上是正确的,但我必须将我的 Sass 更新为 sass-3.2.3。现在压痕完美地工作!非常非常非常感谢扎克! :)
【解决方案2】:

更改 sass 缩进的正确方法是转到 rubygems/gems/sass-3.x.x/lib/sass/tree/visitors/to_css.rb(或您的 to_css.rb 文件所在的任何位置),然后编辑:

tab_str = ' ' * (@tabs + node.tabs)

【讨论】:

    【解决方案3】:

    由于这是关于sass 缩进的参考问题,并且截至目前(2019 年 12 月),已接受的答案已过时;我添加了这个答案。
    根据sass documentation,在其选项中,它接受两个名为indentTypeindentWidth 的选项来控制缩进行为。
    默认使用 4 个空格,可以更改为 1 个选项卡,如下所示:

    function css() {
        return gulp
        .src("./scss/**/*.scss")
        .pipe(plumber())
        .pipe(sass({
            outputStyle: "expanded",
            includePaths: "./node_modules",
            indentType: "tab",
            indentWidth: 1
        }))
        .on("error", sass.logError)
        .pipe(autoprefixer({
            cascade: false
        }))
        .pipe(header(banner, {
            pkg: pkg
        }))
        .pipe(gulp.dest("./css"))
        .pipe(rename({
            suffix: ".min"
        }))
        .pipe(cleanCSS())
        .pipe(gulp.dest("./css"))
        .pipe(browsersync.stream());
    }
    

    【讨论】:

      猜你喜欢
      • 2010-09-20
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 2012-09-30
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多