用户代理样式表覆盖了我的CSS,即使它承认不应该这样做?

时间:2018-12-11 03:30:16

标签: html css

我已经搜寻了互联网(和堆栈溢出),以寻找解决此简单问题的方法,但无济于事。

用户代理样式表告诉我它已被我的样式覆盖,但仍在使用它自己的样式。看看:

原始代码段:

Original code snippet

在这里,它清楚地表明原始的display:block;已被覆盖,如应有的那样。

Here

但是,在此处,在“计算”选项卡下,它仍在应用display:block。容器设置为display:table

here

我在html / css临时文件中隔离了受影响的元素,并且在那里覆盖用户代理样式表没有问题,如此处所示:

here

here

here

到底是什么原因引起的?预先感谢。

此外,!important不起作用。

编辑:所有屏幕截图都决定一夜之间嵌入自己,因此看起来像是一团糟,这很有趣。我并没有尴尬地删除此问题,而是真正地快速清理了该问题,尽管它看起来仍然很复杂,但是无论如何。

1 个答案:

答案 0 :(得分:7)

在您查看元素的计算样式的屏幕快照时,我注意到其float设置为left。浮动元素往往会阻塞它,并且在表行的情况下,确实确实将其变成一个块,并最终将其从其表容器中分离出来,因为表行通常无法浮动。这不是UA样式表覆盖您的样式的情况,而是how the display and float properties interact

为了使表布局正常工作,您不能浮动其内部任何表元素,包括行组,行和单元格。 (您可以 自行浮动表格。)由于我不熟悉您的布局,因此无法为您的问题提供适当且完整的答案,但是这里的关键是删除{该元素的{1}}声明。由于此声明不会以您自己的样式出现,因此它必须在其他位置-在元素的其余样式中查找它。如有必要,请使用float覆盖它。

(当然,可能有其他因素导致这种阻塞,正如其他人提到的那样,需要正确再现您的问题才能进行诊断,但这是我可以从您提供的屏幕快照中收集到的信息,这是很常见的,可能的原因。)