2016-06-09 73 views
0

font-size由类规则(.dropdown-menu)定义的CSS规则已由内置浏览器元素规则(table)覆盖。这怎么可能?按元素浏览器原生规则覆盖的CSS作者类规则

我工作在Cockpit插件,使用PatternFly样式。我的标签元素(屏幕截图中的选定行)太大,从间接父元素table继承而来,太大font-size。该表令人惊讶地不会从其父元素(定义为.dropdown定义中的div.dropdown)继承属性font-size的值,但它直接从浏览器样式表中获取。我想知道它是怎么可能的,它不违反CSS层叠 - 使用浏览器定义而不是从父元素继承?

它一直以这种方式工作在Chrome 51和Firefox 46

Dev tools screenshot

Here被简化的jsfiddle演示似乎正常工作(即不同)。

根据w3schoolsfont-size规则被继承,并根据css specification浏览器样式应该有较低的优先级。

+0

检查是否属于quirksmode,这可能会导致此继承问题。如果你处于严格模式,这不应该发生。 –

+0

'document.compatMode'返回'CSS1Compat',因此我猜它是在严格模式下(根据http://stackoverflow.com/a/627124/639687)。现在我可能会错过如何应用css规则。你能解释为什么'font-size'值是从浏览器样式表中选取的而不是继承的?并将它与链接的JsFiddle示例进行比较,它不是? – czerny

+0

@AndyHoffman你说得对,这是iframe中的怪癖模式。这就是为什么根文档的'compatMode'返回'CSS1Compat'。谢谢你的提示。你想把它放在我能接受的答案中吗? – czerny

回答

1

检查您的文档是否在quirksmode,这可能会导致继承问题。如果文档处于严格模式,则不应该发生这种情况。