【发布时间】:2011-09-22 13:47:29
【问题描述】:
我正在构建一个 jQuery 插件,它使用 CSS 样式为嵌套的 DIV 标签添加颜色和边距。由于我宁愿将插件保留为单个文件,因此我的代码使用 jQuery 的 .css() 方法将这些颜色和边距作为 CSS 属性直接添加到 DIV。 (这些属性的值可以在插件初始化时自定义。)
但是,我还想让用户能够使用他们自己的样式表来设置这些 DIV 的样式,因此我还为每组 DIV 添加了类(也可以为其自定义名称)。这似乎是提供两全其美的最佳方式。
唯一的缺点似乎是内联style="..." 属性(由jQuery 的.css() 方法生成)总是覆盖外部样式表中设置的类样式。当然,我可以在样式表中使用!important 样式,但是一次又一次地这样做很麻烦。
所以:我真正想要的是一种使内联样式的优先级自动低于外部类样式的方法,而不必使外部类样式!important。
我还没有读到过这样的事情。有什么建议么? (或者:我应该采取另一种方法来设置插件中的 DIV 样式吗?)
【问题讨论】:
-
不要认为这样的事情存在。但也许你可以使用 .addClass() 代替?
-
是否可以选择提供您的 css 分离?我使用了一些可以做到这一点的插件,并发现它们更容易定制。
-
@Andre:请举例?
-
!unimportant只是意味着你所有的编程都是浪费时间:-p -
伙计,我真希望有一个 !unimportant,因为现在它可以让我省去很多头痛和努力修复我们继承的 CSS 混乱的工作。