我的页面中有一个div,可以从我公司的自定义CSS文件中获取样式。一些造型会弄乱我的div如何显示/定位。我将其追踪为display: inline-block;
。
使用Chrome开发者工具的元素标签,当我取消选择此特定行时,我的元素会正确显示:
所以我想我会覆盖该属性以显示默认值display: inline !important;
来模拟“删除”属性。该属性被覆盖,但我的元素仍然未对齐。
我还尝试在加载元素后使用jQuery:$('#myelement').css('display', 'X');
其中X是display属性的任何可接受的值。我也试过一个空的空间。没有提供取消选中(删除?)Chrome开发人员工具中的属性的结果。
那么我还有哪些选项可以模拟取消选中Chrome开发工具元素标签中的样式属性?我假设最接近的事情是以某种方式从我的元素中删除属性,但我不知道如何做到这一点,因为这个属性在外部CSS文件中定义,我不允许修改。
答案 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 article和this site。
如果以上都不起作用,则仅使用!important
。 !important
永远应该是最后一个选择!只有另一个!important
可以覆盖自身,导致代码非常糟糕。
要了解有关元素的初始值/默认值的更多信息,请参阅this article。