我通常使用jQuery,它可以消除大部分跨浏览器的痛苦(不幸的是,不是全部)。但是,它似乎没有任何支持操纵CSS DOM,这似乎仍然是一个雷区 - QuirksMode有一些信息。
我们的应用程序允许用户通过生成具有所选颜色的CSS样式表来对其网站进行主题设置。它非常简单,但是我想让它们通过将更改直接应用到CSS DOM来“预览”它,然后将它们保存回数据库并生成CSS文件。
有谁知道一个库会让跨浏览器的CSS DOM maniuplation更容易?我们很清楚,我不尝试更改元素或元素集(如$ .css())或添加/删除类的css规则。我想直接修改样式表。
答案 0 :(得分:1)
我强烈推荐YUI stylesheet utility。我没有看到任何其他库具有尽可能多的功能或干净的界面。
答案 1 :(得分:0)
难道你不能只在主文档的DOM中添加或替换<style>
元素,并用生成的CSS填充它吗?
答案 2 :(得分:0)
最好也是最简单的方法是创建一个.jsp .php或者你正在使用的任何接受颜色参数的东西,这反过来会使.css输出变换颜色。
使用JavaScript通过颜色参数发出请求,并将css脚本附加到页面。
可以直接在styleSheet对象上执行此操作,但这会花费更多时间并创建更多维护。每当您想要更改实际用于生产的自定义样式表时,您还必须更改预览版本。随之而来的是Ergo差异。
只需重复使用您将要用于生产的样式表模板。
答案 3 :(得分:0)
也许你应该尝试类似的东西:
document.styleSheets[0].disabled = true;
这会禁用当前页面的第一个样式表。也许如果你玩它可以解决你的问题。