2016-12-30 144 views
2

em的默認參考字體大小是什麼?它是html還是body?我已經在SO中搜索了答案,但找不到答案。em的默認參考字體大小?

+0

我聽到16px的是1個EM,則需要設置體字體大小:16px的 –

+0

單位\t說明 EM \t - 相對於元素的字體大小(2em的表示當前字體的大小的2倍) – lisarko8077

回答

2

大多數主流瀏覽器有標準的文本設置爲16像素的默認字體大小。

MDN

如果您還沒有設置字體大小的頁面上的任何地方,那麼它是 瀏覽器的默認,這往往是16像素。

它繼續說道:

所以,在默認情況下1EM = 16px的,和2em的= 32PX。如果您在body元素上設置了font-size, 20px,則1em = 20px和2em = 40px。請注意, 值2本質上是當前em大小的乘數。

無論初始字體大小的bodyhtml或元件上聲明是在瀏覽器製造商的判斷。 W3C推薦的default style sheet沒有指定一個元素(或者甚至字體大小)。

+1

你是否認爲[this](http://stackoverflow.com/questions/10470727/what-is-an-em-if-the-font-size-of-the-document-is-specified-in- ems)是一個合適的重複? – BoltClock

0

em沒有默認字體大小,em會繼承父級字體大小的值,例如,如果您有一個帶有段落的div並且div的字體大小設置爲18 px,那麼您可以設置段落的字體大小爲0.5 em,在這種情況下字體大小將爲9px,因此它將取決於父級的元素字體大小。

的情況下,父元素是瀏覽器窗口的字體大小默認將是16像素所以1EM將在這裏等於16px的

this文章一看我比較CSS單位以前寫

+0

所以如果我從來沒有設置任何字體大小的EM將繼承自HTML? – user7339197

+0

究竟是在大多數瀏覽器中爲16像素 –

0

em的參考字體大小是您爲其定義大小的最後一個父元素。您也可以這樣說:em單位相對於元素的當前大小。

您可以在兩個片段中看到區別。在第二個中,<p>的字體大小是第一個的兩倍。

body{ 
 
    font-size:10px; 
 
} 
 
p{ 
 
    font-size:2em; 
 
}
<body> 
 
    <div class="container"> 
 
    <p>Text</p> 
 
    </div> 
 
</body>

body{ 
 
    font-size:10px; 
 
} 
 
.container{ 
 
    font-size:20px; 
 
} 
 
p{ 
 
    font-size:2em; 
 
}
<body> 
 
    <div class="container"> 
 
    <p>Text</p> 
 
    </div> 
 
</body>

+0

所以如果我從來沒有設置任何字體大小的EM將繼承自HTML? – user7339197

+0

是的。它在瀏覽器中被預定義(它的被稱爲user-agent樣式表)。確切的說是16 px。你可以在開發者工具(按f12打開它們)看看它 – ab29007

+0

如果它有幫助,那麼請接受我的答案。謝謝 – ab29007