2016-06-09 71 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,這可能會導致繼承問題。如果文檔處於嚴格模式,則不應該發生這種情況。