2013-10-08 32 views
1

我在看的CSS是這樣的:我可以在px行高內包含我的em大小的字體嗎?

header .logo { 
    text-align: center; 
    line-height: 77px; 
    font-size: 4em; 
    font-weight: bold; 
    font-family: "Segoe UI Web Light", "Segoe UI Light", "Segoe UI Web Regular", "Segoe UI", "Segoe UI Symbol", "Helvetica Neue", Arial; 
} 

有人能告訴我,這很可能是一個問題,如果我移動到移動設備?我是否總是在em尺寸內包含em尺寸的字體的字體?

+0

不,因爲線條高度將始終相同,並且字體大小可能會更改。您最終可能會得到140px的字體大小和更小的行高。 – DavidB

+0

等待這個答案,它的一個好問題 –

+0

字體的大小如何增加? – Melina

回答

2

px單位和em單位有很大的不同。 px單位表示一個像素,它是一個相對的概念,可能會因顯示設備而異(有關詳細說明,請參閱CSS Values and Units Module Level 3),而em單位在使用font-size屬性的值時,表示父元素的字體大小。這個大小根據上下文,應用的CSS規則等而不同,並且最終在用戶的控制之下。所以它可以是任何事情。如果你認爲em是像素的特定東西,那麼在某些情況下這種假設將不可避免地失敗;如果您假設具體尺寸,爲什麼不在整個過程中使用px

因此,您應該使用相同的單位或使用具有固定的,明確定義的關係的單位設置font-sizeline-height。通常情況下,您應該在em單位或兩個單位都設置px單位,以確保它們合在一起。但是,如果您在em中設置字體大小,您可以使用line-height的純數字,如line-height: 1.2,因爲除繼承問題外,純數字有效地具有em作爲隱含單位。

例如,無論是

line-height: 77px; 
font-size: 64px; 

line-height: 1.2em; 
font-size: 4em; 

將是一致的。

1

em單元是:

等於它在其上使用的元素的「字體大小」屬性的計算值。

這就是specification所說的。

所以,你的情況font-size將是四倍大(4EM),那將是比正常繼承和line-height總是77px

根據你想要達到的目標,你通常應該放棄你的方法,因爲無論你如何改變line-height將永遠是相同的。我建議設置line-height
個人爲,我很少使用em單位。我嘗試始終與px合作。我做了很多響應式設計。

+0

你提到你在px下工作,但我讀到這可能是較小屏幕尺寸的問題。你的設計在所有屏幕尺寸上都可以工作嗎? – Melina

+0

在'font-size'中,'em'單位有不同的含義:它指的是父元素的字體大小。並設置'font-size'防止繼承。 –

+0

我們(在我的工作中)爲200px寬的設備設計。一切都好。但我們並不是爲各種分辨率設計的,而只是最受歡迎的像iPhone風景/人像,SGS3 l/p,平板電腦l/p等等。 – matewka

0
In theory, the em unit is the new and upcoming standard for font sizes on the web 

我不認爲使用EM這裏將是一個不錯的主意,特別是當你觀看設備從normal computer screen to a mobile device

Comparing EM, PX, PT and %

這裏的範圍內行高是持續到77px但em的大小將根據查看設備而改變。

相關問題