4

我正在使用Jquery Mobile. 例如,当我创建一个输入文本时select box,它会用一些HTML. 其中一行是:

<span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span>

在我们的项目中,我们对这些类进行了很多覆盖,尤其是ui-icon

.ui-icon {
        background-size: 85px 700px !important;
}

所以我得到一个带有这些参数的页面,因此我的所有页面都变得混乱。

更改所有项目中的样式需要大量工作,如何强制我的页面忽略background-size当前类的这种样式()ui-icon

4

2 回答 2

4

你不能强迫一个班级忽​​略样式(无论如何我都知道)。

我认为您拥有的唯一选择(使用 jQuery)是覆盖background-size

$('.ui-icon').css('cssText', 'background-size: auto auto !important');

!important请注意,我永远不会推荐这样的编码,如果您必须同时使用CSSJAVASCRIPT,那么您做错了很多

于 2013-09-03T12:49:08.853 回答
1

CSS样式采用最后一个样式,然后只能用重要的样式覆盖,您的问题非常模糊,但是您应该能够通过对元素的样式进行硬编码来解决此问题,

<span class="ui-icon ui-icon-arrow-d ui-icon-shadow" style="background-size: 5px 5px !important;"></span>

或者用 !Important 元素覆盖整个类。为此,您必须仅在该页面的样式列表中创建最后调用的样式,例如在所述页面上创建类。

除此之外,您可以使用 Javascript 通过给元素一个 id 来设置特定元素的样式,

 $('#txtBoxOverride').css('background', '5px 5px !important')
于 2013-09-03T12:57:21.540 回答