jquery – CSS中“!important”的相反内容是什么?

前端之家收集整理的这篇文章主要介绍了jquery – CSS中“!important”的相反内容是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个使用CSS样式的jQuery插件来为嵌套的DIV标签添加颜色和边距.由于我宁愿将插件保存为单个文件,我的代码使用jQuery的.css()方法将这些颜色和边距直接作为CSS属性添加到DIV. (当初始化插件时,可以自定义这些属性的值.)

然而,我也想让用户使用自己的样式表来设计这些DIV,所以我也向每组DIV添加了类(也可以为这些名称定制).这似乎是提供最好的两个世界的最佳方式.

唯一的缺点似乎是inline style =“…”属性(由jQuery的.css()方法生成)总是覆盖外部样式表中设置的类样式.当然,我可以在样式表中使用!重要的样式,但这样做一次又一次是麻烦的.

所以:我真正想要的是一种使内联样式自动优先于外部类样式的方式,而不必使外部类样式更为重要.

我没有看过这样的事情.有什么建议么? (或者,还有另外一种方法,我应该把它的DIVs插入到插件中)

解决方法

What’s the opposite of !important in CSS?

没有完全相反的,但是有较低的优先选择器.

w3c spec defines the cascade,可能会读它.

内联样式具有最高优先级,而且您是以低优先级风格,您需要通过样式表或样式元素添加CSS.

因为你使用的是jQuery,所以添加自定义样式元素很容易:

$('<style type="text/css">.foo {color: #FF0000;}</style>').prependTo('head');

您将要找到的问题是,在样式表中指定了.foo的用户将需要更高的特异性来赢得风格元素,因此我建议为每个元素使用一个额外的类,以便用户可以覆盖默认值:

.foo.override { color: #0000FF; }

在所有情况下,您都要仔细挑选您的选择器,使其具有最小的特异性.

猜你在找的jQuery相关文章