提取使用特定样式的CSS类
问题描述:
我正在为WordPress主题创建模块,它允许用户更改主要颜色。而不是做一个矫枉过正和实施LESS编译器,我会做这种方式:提取使用特定样式的CSS类
这里是原来的样式表:
.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文件以上并呈现各原色动态地覆盖默认样式表。
有谁知道这是否有工具?这会比手动搜索颜色和提取样式容易得多。
答
我会在PHP中创建一个动态的文件,并指定标题的CSS:
header('Content-Type: text/css');
使用echo
到行添加到当前的CSS文件!为所有你想要的颜色制作变量。您可以使用GET或POST请求传递选定的颜色。请注意,如果您浏览器缓存CSS文件,则应排除动态文件!
这是一个非常高的顺序。为什么不使用LESS?您不必实现编译器,只需包含现有的编译器即可。第二个想法是一个客户端PHP脚本,它将CSS简单地替换掉。类似于'/ dynamic_styles?var1 = 000&var2 = fff' ... – janfoeh
无论如何,你将最终重新实现LESS(或等价物)。 CSS解析不是微不足道的 –