从元素中删除特定样式属性

时间:2015-01-05 22:45:01

标签: jquery html css properties styles

我的页面中有一个div,可以从我公司的自定义CSS文件中获取样式。一些造型会弄乱我的div如何显示/定位。我将其追踪为display: inline-block;

使用Chrome开发者工具的元素标签,当我取消选择此特定行时,我的元素会正确显示:

Just to make it clear what I'm doing in Chrome which provides the results I'm looking for

所以我想我会覆盖该属性以显示默认值display: inline !important;来模拟“删除”属性。该属性被覆盖,但我的元素仍然未对齐。

我还尝试在加载元素后使用jQuery:$('#myelement').css('display', 'X');其中X是display属性的任何可接受的值。我也试过一个空的空间。没有提供取消选中(删除?)Chrome开发人员工具中的属性的结果。

那么我还有哪些选项可以模拟取消选中Chrome开发工具元素标签中的样式属性?我假设最接近的事情是以某种方式从我的元素中删除属性,但我不知道如何做到这一点,因为这个属性在外部CSS文件中定义,我不允许修改。

2 个答案:

答案 0 :(得分:0)

div的默认显示模式为block。也许display:block !important;?” - Gary Storey

(作为实际答案给出答案,以便将帖子标记为已回答。)

答案 1 :(得分:0)

display的默认div值为block。所以你应该将值设置为:

div { display:block; }

如果由于某种原因不起作用,您可以尝试通过添加额外元素来覆盖以提高特异性。例如:

/*specificity value of 2 */
body div { display: block; }

/* or specificity value of 11 */
.content div {display: block; }

 /* or specificity value of 101 */
 #content div

这增加了选择器的特异性,允许您覆盖当前值,而不会使以后无法覆盖。可以找到更多信息in this articlethis site

如果以上都不起作用,则仅使用!important!important永远应该是最后一个选择!只有另一个!important可以覆盖自身,导致代码非常糟糕。

要了解有关元素的初始值/默认值的更多信息,请参阅this article