【问题标题】:Extracting CSS Classes That Use Specific Styles提取使用特定样式的 CSS 类
【发布时间】:2013-12-15 15:53:33
【问题描述】:

我正在为 WordPress 主题创建一个模块,该模块允许用户更改原色。与其做一个矫枉过正并实现一个 LESS 编译器,我会这样做:

这是原始样式表:

.header a:hover
{
    color: #fff;
    width: 123px;
    height: 456px;
}
.header
{
    background-color: #000;
    width: 100%;
    height: 200px;
}

现在,我需要一种方法来解析上述样式表并提取所有包含某种颜色的样式。也许是一个工具,我可以在其中输入颜色“#fff”和“#000”,然后提取以下内容:

.header a:hover
{
    color: #fff; // matched (removed the rest)
}
.header
{
    background-color: #000; // matched (removed the rest)
}

这样,我可以简单地将上述内容包含在 PHP 文件中并动态呈现相应的原色以覆盖默认样式表。

有没有人知道这方面的工具?这比手动搜索颜色和提取样式要容易得多。

【问题讨论】:

  • 这是一个很高的要求。为什么不使用LESS?您不必实现编译器,只需包含现有的编译器。第二个想法是一个客户端 PHP 脚本,它会吐出 CSS 进行简单的替换。类似/dynamic_styles?var1=000&var2=fff...
  • 无论如何,您最终都会重新实现 LESS(或等效的)。 CSS 解析很重要

标签: css parsing stylesheet extract css-parsing


【解决方案1】:

我会在 PHP 中创建一个动态文件并将标题指定为 CSS:

header('Content-Type: text/css');

使用echo 向当前CSS 文件添加行!为您想要的所有颜色制作变量。您可以使用 GET 或 POST 请求传递选定的颜色。请注意,如果您对 CSS 文件进行浏览器缓存,则应排除动态文件!

【讨论】:

    猜你喜欢
    • 2017-12-31
    • 2020-04-28
    • 2013-04-02
    • 2012-10-13
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2014-01-08
    • 2014-02-07
    相关资源
    最近更新 更多