【问题标题】:Remove unwanted css Using uncss in Responsive sites在响应式站点中使用 uncss 删除不需要的 css
【发布时间】:2015-11-26 11:54:46
【问题描述】:

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

【问题讨论】:

    标签: css github responsive-design uncss


    【解决方案1】:

    媒体选项是救援:

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

    来自文档:

    media (Array):默认情况下,UnCSS 只处理带有媒体查询“all”、“screen”和没有的样式表。在此处指定要包括哪些其他内容。

    只需为 mobile.css 指定确切的 meida 选项并享受正确的 unCSS 工作。

    【讨论】:

      【解决方案2】:

      来自github

      怎么做?

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

      1. HTML 文件由 PhantomJS 加载并执行 JavaScript。
      2. 使用的样式表是从生成的 HTML 中提取的。
      3. 样式表被串联,规则由 css-parse 解析。
      4. document.querySelector 过滤掉在 HTML 文件中找不到的选择器。
      5. 剩余的规则被转换回 CSS。

      所以是的,它会在运行时删除不在 DOM 中的选择器。如果你动态添加了选择器,你可以通过在它们前面注释:/* uncss:ignore */ 来让 uncss 忽略它们,例如

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

      【讨论】:

        猜你喜欢
        • 2021-12-01
        • 2012-06-23
        • 1970-01-01
        • 2013-04-17
        • 2021-06-27
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        • 2014-09-05
        相关资源
        最近更新 更多