In an SCSS file, which output style(s) (nested, expanded, compact or compressed) will remove multiline (/* I'm a comment. */
) comments from the final CSS?
问问题
15244 次
3 回答
15
:compressed
是唯一可以从最终渲染的 CSS 中删除多行 ( /* ... */
) 注释的输出样式。
此外, :compact 会将多行注释转换为最终 CSS 中的单行。使用 :nested 和 :expanded,所有多行注释及其换行符都会在最终的 CSS 中呈现。
例如,这个 SCSS:
// SL Comment
/* ML Comment1
Whoop. */
//! SL w/ bang
/*! ML Comment2
Whoop. */
将成为每种不同输出样式的以下 CSS:
嵌套:
/* ML Comment1
Whoop. */
/* ML Comment2
Whoop. */
扩展:
/* ML Comment1
Whoop. */
/* ML Comment2
Whoop. */
袖珍的:
/* ML Comment1 Whoop. */
/* ML Comment2
Whoop. */
压缩:
/* ML Comment2
Whoop. */
以!
仅影响模式下的多行注释开始注释:compressed
,当它们被从最终 CSS 中删除时,它们将被保留。
于 2013-05-30T21:23:45.173 回答
3
即使使用“压缩”输出样式,我也无法删除多行注释,sass/scss 文档也建议不删除它们(仅删除带有“//”的单行注释)。
我的解决方案是在 sass 生成其最终输出之后,简单地应用 Perl 单线从 .css 文件中手动删除注释:
sass -fCE utf-8 -t compressed application.sass application.css
perl -pi -e'BEGIN{$/=undef}s#/\*.*?\*/##gs' application.css
于 2014-06-21T16:20:03.490 回答
3
很遗憾,我不能对已接受的答案投反对票或评论。根据文档,所写和接受的内容是不真实的。Sass 只删除单行代码并保留多行注释。
Sass 支持带有 /* */ 的标准多行 CSS 注释,以及带有 // 的单行注释。多行注释尽可能保留在 CSS 输出中,而单行注释被删除。
于 2017-10-12T14:29:32.533 回答