删除不需要的css在响应式网站中使用uncss

时间:2015-11-26 11:54:46

标签: css github responsive-design uncss

我已经取消了(github上的一个项目)来删除不需要的响应式网站的CSS。 它还会删除mobile.css文件中提到的css,但实际上会影响移动视图中的网站。我不知道unss是如何工作的? 例如,它只是删除了DOM中不存在的选择器,或者删除了仅在特定视口中没有使用的选择器。

2 个答案:

答案 0 :(得分:2)

媒体选项是救援:

options = { ... media : ['(min-width: 700px) handheld and (orientation: landscape)'], ... }

来自文档:

  

media(Array):默认情况下,UnCSS仅处理带有媒体查询的样式表" all"," screen"以及没有一个的样式表。在此指定要包含的其他内容。

只需为mobile.css指定精确的meida选项,并选择正确的unCSS工作。

答案 1 :(得分:1)

来自github

如何吗

UnCSS删除未使用规则的过程如下:

  1. HTML文件由PhantomJS加载并执行JavaScript。
  2. 使用的样式表从生成的HTML中提取。
  3. 连接样式表,并通过css-parse解析规则。
  4. document.querySelector过滤掉HTML文件中找不到的选择器。
  5. 其余规则将转换回CSS。
  6. 所以是的,它会在运行时删除不在DOM中的选择器。如果您有动态添加的选择器,则可以通过在/* uncss:ignore */之前对其进行注释来使unss忽略它们,例如

    /* uncss:ignore */
    .selector1 {
        /* this rule will be ignored */
    }