【问题标题】:Targeting compound selectors in gulp-uncss?在 gulp-uncss 中定位复合选择器?
【发布时间】:2015-03-22 20:04:02
【问题描述】:

我是 gulp 和 uncss 的新手,我不确定我的逻辑是否有缺陷,或者我需要的东西是否不可能。

我希望 uncss 忽略一系列以特定字符串为前缀的 CSS 规则,但它们的声明中链接了许多复合选择器。

我知道我们可以在 ignore 语句中使用正则表达式,并且我正在使用正则表达式希望忽略所有以我的前缀开头的规则。但我不确定忽略中的正则表达式是否仅涵盖选择器中的一个类,还是整个规则。

例如我希望 gulp-uncss 忽略所有以 .foo 为前缀的 CSS 规则

.foo .bar {...}
.foo-baz {...}
.foo-ballz .bazzie:hover {...}

还有我的 gulp-uncss 规则(似乎没有按预期工作)

.pipe(uncss({
     html: ['index.html'],
     ignore: ['/^.foo/']
}))

一切正常,但我似乎丢失了一些(但不是全部)需要的 CSS。我可能错过了什么?谢谢!

【问题讨论】:

    标签: css gulp uncss


    【解决方案1】:

    我想我解决了自己的问题。在我们的忽略语句中,我发现您不必将正则表达式括在引号中。

    因此:

    .pipe(uncss({
         html: ['index.html'],
         ignore: [/^\.foo/]
    }))
    

    对我来说似乎工作正常!

    【讨论】:

      【解决方案2】:

      或者,您可以在选择器之前使用忽略注释:

      /* uncss:ignore */
      

      但是,我更喜欢你的回答。我正在努力解决同样的问题,在这里遇到了你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多