13

CSS では、emドキュメントのフォント サイズに基づく相対的な単位です。では、ドキュメント自体のフォントサイズがems で測定されemている場合、正確には何ですか? 次のように言うとします。

<style type = "text/css">
body
{
    font-size: 1em;
}
</style>

したがって、 anemは再帰的に定義されます。では、これはブラウザによってどのように処理されるのでしょうか?

W3Cのドキュメントには次のように書かれています。

'em' 単位は、それが使用されている要素の 'font-size' プロパティの計算値と同じです。例外は、'font-size' プロパティ自体の値に 'em' が含まれている場合です。この場合、親要素のフォント サイズを参照します。垂直または水平の測定に使用できます。(この単位は、タイポグラフィ テキストではクワッド幅と呼ばれることもあります。)

しかし、要素がdocument.bodyで、親要素がない場合はどうなるでしょうか?

4

3 に答える 3

28

bodyはドキュメントのルート要素ではありません — これはよくある誤解です。の親要素bodyhtmlで、デフォルトのフォント サイズはブラウザのデフォルトのフォント サイズ設定 (通常は16px) と一致します。1

これは、との両方font-sizeで ems に値を設定した場合でも適用されます。したがって、これを行った場合: bodyhtml

html, body { font-size: 2em; }

16px次に、ユーザーが設定した既定のフォント サイズを と仮定するhtmlと、フォント サイズは32px(既定のフォント サイズの 2 倍) になりbody、フォント サイズは64px(親の 2 倍html) になります。


1 正確には、html要素のデフォルトのフォント サイズは初期値でmediumあり、仕様によれば、ユーザーが設定したデフォルトのフォント サイズに対応します。

于 2012-05-06T13:05:16.553 に答える
0

親要素で定義されていない場合、ブラウザのデフォルト値である 16px が使用されます。

これも参照してください:http://pxtoem.com/

于 2012-05-06T13:07:00.680 に答える
-2

これは、ブラウザのデフォルトのフォント サイズが何であれ、'10pt' などの物理的なサイズで指定されます。

于 2012-05-06T13:05:34.530 に答える