2015-11-26 74 views
0

我uncss(在github上一个项目)以删除敏感场所多余的CSS。 它还会删除mobile.css文件中提到的css,但实际上会在移动视图中影响该网站。我不知道uncss是如何工作的?即,天气只是简单地移除DOM中不存在的选择器,或者它仅移除未在特定视图端口中使用的选择器。删除不需要的CSS使用uncss

回答

1

github

如何?

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

  1. 的HTML文件由PhantomJS加载并执行的JavaScript。
  2. 二手样式表是从生成的HTML中提取。
  3. 的样式表被级联和规则由CSS-解析解析。
  4. document.querySelector过滤掉未在HTML文件中找到选择。
  5. 其余规则转换回CSS。

所以,是的,它会删除不选择在运行时的DOM。如果您已动态添加选择器,则可以在它们之前通过评论:/* uncss:ignore */来忽略它们,例如,

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

媒体的选择是救援:

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

从技术文档:

媒体(阵列):默认情况下UnCSS只处理样式与媒体查询 “所有”,“屏幕“,而那些没有。在此指定要包含的其他人。

只需指定mobile.css的确切meida选项并享受适当的unCSS工作即可。