标签: grunt-contrib-cssmin

  • Compass + cleancss 导致的灵异小问题

    Compass + cleancss 导致的灵异小问题

    问题不大,不过很诡异。代码如下:

    SASS:

    .some-class
      display: none
    
    .other-class:blank
      display: none
    

    HTML:

    <div class="some-class">...</div>
    

    理论上说,这样这个div应该不显示。在本项目中,它的确没显示;但是在另外一个将本项目作为依赖的项目中,它却显示出来了。

    经检查,本地开发和部署时,直接使用 compass compile 生成CSS,compass 配置中,设置输出模式(output_style)为 compressed,结果是这样的:

    .some-class{display:none}.other-class:blank{display:none}
    

    而在作为依赖时,用到的则是 grunt-contrib-cssmin 处理过的CSS,刚才那句就被压缩成

    .some-class,.other-class:blank{display:none}
    

    :blank伪类尚未被Chrome中支持,于是整条规则都被忽略,导致div显示出来。