覆盖没有!important的CSS类选择器

前端之家收集整理的这篇文章主要介绍了覆盖没有!important的CSS类选择器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我只是为Web应用程序编写一个javascript UI对话框.问题是用户可以为Web应用程序创建自己的主题,其中可能包括元素css选择器(h1 {…},div {…}等),它们会覆盖UI对话框的css格式.该对话框是一个div元素,它在类选择器上格式化(id不起作用,因为此对话框可能出现多次).有没有办法停止影响UI对话框的用户模板样式的元素选择器,而不必使用巨大的css重置样式并对UI对话框的每个样式使用!important?如何在jQuery UI样式的UI库中出现对话框?

例如,用户主题包括

input {color:nuts; height:bananas; width:crazy; background:morenuts; }

用户界面的CSS:

.ui_modal_wrap input {color:red; border:1px solid black;}

UI的html:

问题仍然是我必须为.ui_modal_wrap使用巨大的css休息,因为你无法真正用用户可以应用的所有属性编写css(在这个例子中,高度和宽度元素仍会破坏样式,因为UI的剂量不包括高度和宽度).

最佳答案
通常,您应该知道应用规则(如果两者都在外部样式表中)具有特定规则.

通常,您可以考虑一个分数,并应用适用于分数最高的元素的规则.

在选择器链中,每个元素类型值1,类值10,id值100.

body div.wrapper == 12分

body div.wrapper div span == 14分

body #quote == 101分

因此,通常只需使特定于页面的规则(对页面其余部分进行样式设置)不那么具体,并让UI CSS接管.或者,您可以始终将UI标记放在HTML的“超级”位置,例如:

然后通过在该样式表上的每个规则之前放置#super#super2来“命名”UI的CSS.

猜你在找的CSS相关文章