【发布时间】:2012-11-21 06:34:14
【问题描述】:
在使用 Sass 时,如何将输出 CSS 文件中的缩进从 2 个空格更改为 4 个空格?我正在使用扩展样式。我对Ruby一无所知,但我尝试在我的计算机上读取/Library/Ruby/Gems/1.8/gems/sass-3.2.1/中的每个rb文件。
【问题讨论】:
-
我问过自己同样的问题,但到目前为止还没有找到答案。我很好奇。
在使用 Sass 时,如何将输出 CSS 文件中的缩进从 2 个空格更改为 4 个空格?我正在使用扩展样式。我对Ruby一无所知,但我尝试在我的计算机上读取/Library/Ruby/Gems/1.8/gems/sass-3.2.1/中的每个rb文件。
【问题讨论】:
sass-3.2.3/lib/sass/tree/visitors/to_css.rb 有许多用于缩进的硬编码双空格字符串 (' ')。如果您将它们全部替换为四个空格的字符串,它将按照您的说明编译您的 css。
【讨论】:
更改 sass 缩进的正确方法是转到 rubygems/gems/sass-3.x.x/lib/sass/tree/visitors/to_css.rb(或您的 to_css.rb 文件所在的任何位置),然后编辑:
tab_str = ' ' * (@tabs + node.tabs)
【讨论】:
由于这是关于sass 缩进的参考问题,并且截至目前(2019 年 12 月),已接受的答案已过时;我添加了这个答案。
根据sass documentation,在其选项中,它接受两个名为indentType 和indentWidth 的选项来控制缩进行为。
默认使用 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());
}
【讨论】: