【问题标题】:compass removes css comments in compiled csscompass 删除编译后的 css 中的 css 注释
【发布时间】:2014-05-29 14:40:02
【问题描述】:

我确实需要在我的 compass 项目的最终 css 文件中编译我的 cmets,但是我的所有 cmets 在编译时都会被删除。

我尝试在config.rb 文件中设置line_comments = true,我得到了行cmets,但不是我自己的cmets。

我该如何解决这个问题?

我正在使用 liferay cms,而我们的 css 缩小器的过时版本无法以正确的方式缩小媒体查询,因此在生产中,除非我写下这个小评论,否则我的所有媒体查询都将不起作用:

@media all and /*!YUI compressor*/ (max-width: 480px) {}

有没有办法告诉指南针不要删除我自己的 cmets? 非常感谢!

【问题讨论】:

  • 请包含您的 sass/compass 代码。你在使用响亮的 cmets 吗?它们应该在 CSS 中。也许将您需要的内容包装在 mixin 中,然后 @include mixin 而不是您当前正在做的事情。

标签: css sass compass-sass prepros


【解决方案1】:

这是我从编译后的 CSS 中删除 cmets 的方法:

对编译后不想显示的所有cmets使用//

使用 /* */ 普通 CSS cmets 来表示您希望在编译后的 CSS 中看到的 cmets。

例如,您不想显示 Grid mixins 的 cmets,只需在普通 css cmets 之前添加 //

///*=============== Grid Mixins =================*/

【讨论】:

    【解决方案2】:

    Compass 基本上使用 Cmets 的 SASS 设置和输出样式 documented here

    基本上,它应该留在您的块 cmets 中,但需要确保您没有使用 compressed 输出样式,否则无论如何都会删除所有内容。

    如果您没有使用 compressed 并且您的块 cmets 仍在被删除,这可能是因为它们仍然被声明为内联(我不确定 compass 在这方面有什么行为)。尝试像这样将它们移动到之前的行:

    /*!YUI compressor*/
    @media all and (max-width: 480px) {}
    

    line_comments 选项仅在每个选择器之前输出 cmets,说明该规则在 SCSS 文件中的定义位置(只要您不使用 compressed),在 compass 支持源映射之前它很有用

    【讨论】:

    • 不幸的是,css minifier 需要将注释放在一行中并且准确无误。但是感谢有关指南针如何处理 cmets 的建议,我不知道它保留了多线。
    【解决方案3】:

    更新到最后一个 Sass 版本解决了这个问题。现在它在压缩的输出文件中保持响亮的 cmets。使用此命令确保您至少拥有 Sass 3.4.22:

    sass -v
    

    【讨论】:

      猜你喜欢
      • 2016-03-05
      • 2015-02-14
      • 1970-01-01
      • 2021-02-20
      • 2014-01-21
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多