6

リンクは次のとおりです。

http://jsfiddle.net/LDEt6/

最初の CSS ルールは font-family を'Helvetica Neue', Helvetica, Arial, sans-serif;次のように設定し、以下の CSS の他のすべてのフォント設定は単に「継承」と述べています。ただし、Chrome 21 では計算された font-family として「Times」を取得しており、Firefox では「serif」を取得しています。 '。私は何が欠けていますか?

ありがとう!

4

2 に答える 2

8

まず、次のものがあります。

body {
     font-family : 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

クール、それでいい。しかし、次のようになります。

html, body, input, button, <snipped...> {
     font: inherit;
}

そのfontため、ボディにも適用されるこのルールによって上書きされ、現在はinherit.

では、継承は何をしますか?「親要素に割り当てられたスタイル プロパティを使用する」と表示されます。この場合、<body>要素の親は、親<html>を持たないものです。そのため、ルートには指定されたフォント ファミリがまったくないため、何も継承できません。

inherit行わないのは、その要素に対して以前に定義された値を使用することです。適用される以前のスタイルではなく、親から継承します。inheritCSS 構造ではなく、HTML 構造に関するものです。

最後に、すべての親を含む親からフォントを継承するようにユニバース全体を設定します。したがって、実際に設定されたフォントを持つ親を実際に見つけることは決してありません。代わりに、ブラウザはデフォルトのフォントを適用して、何かをレンダリングできるようにします。

body巨大なリセット ルールの後にフォント ルールを移動すると、機能し始めるはずです。フォントは body タグまで継承され、現在は実際のフォントになっています。

于 2012-09-20T23:53:57.600 に答える
0

ここ: http://jsfiddle.net/LDEt6/6/

セレクターの大きな塊では、bodyasを再宣言しfont: inheritます。

于 2012-09-20T23:47:02.413 に答える