2012-11-03 83 views
9

我不明白字體重量值。當我將其更改爲粗體,正常或600以上時,也會更改字體。但將其更改爲100至500,不會改變任何內容。爲什麼有這些價值?它是如何工作的CSS字體重量值?

+0

您的字體必須支持不同的權重。 – Blender

+0

與瀏覽器或字體的情況有關嗎? – regxcode

+0

有時字體設計師會選擇創建100,200,300等重量字體。其他時候,他們只是做一兩個權重。如果您使用實際不存在的重量,瀏覽器將選擇最接近的有效重量。 – Blender

回答

0

font-weight設置意圖您希望瀏覽器呈現的字體的權重。通常,相同字體的不同權重實際上是分開的字體(考慮ArialArial Black),並且瀏覽器甚至可以用不同的字體系列替換更大膽的變體。瀏覽器也不需要擁有所有權重的所有字體,因此某些font-family/font-weight組合可能沒有任何作用。

瀏覽器和CSS不是排版系統。您不能保證完全按照您指定的方式呈現您請求的樣式。如果您想更多地控制字體,請考慮使用@font-face聲明。

0

基本上,如果具有指定字體權重的字體不存在,它將被最接近的字體權重替換。這就是爲什麼你沒有看到任何改變。

請注意,400是正常的,700是粗體,並且大多數網絡字體沒有更多的字體權重那麼。因此,95%的時間,你可以堅持用「粗體」和「正常」來指定CSS的字體重量。

+0

可能與話題/單詞的重要性有關嗎?例如在HTML中標籤只能使文字粗體,但標籤用於重要的關鍵字。它與此有關嗎? – regxcode

+0

@regxcode,no,'b'和'strong'元素在CSS中具有相同的默認效果。 –

1

字體重量值更改字體的權重。

通常只有所有瀏覽器。

font-weight:bold; 

正常工作。

100-500 font-weight不粗體字體,因爲它的字體粗體百分比小於50%。

和瀏覽器自動地改變成正常字體不加粗

12

font-weight的值,從100至900,反映設計不同的權重的字體的字體的的印刷實踐。很少有字體具有所有這些權重,但是選擇的比例或多或少地覆蓋了所使用的不同權重。 CSS3字體草稿描述了數字和傳統印刷術語(如薄,額外光等)之間的correspondence,但術語真的不一樣。

在排版中,每個重量是由印刷工設計的單獨的字體。這就是爲什麼大多數字體只有兩個或者只有一個重量的原因之一:設計字體需要時間,而時間就是金錢。另一個特別適用於Web上使用的字體的原因是,顯示設備相當粗糙,使得精美的排版往往是毫無意義的嘗試。特別是,小字體高度在低分辨率設備上效果不佳。

CSS規範定義了一個將聲明字體權重映射到可用權重的算法。例如,當只有權重400和700可用時(通常情況),則重量100,200和300被映射到400.然而,在某些情況下,瀏覽器在算法上粗體字形。這不僅僅是一個解決方案,而且由於瀏覽器的差異,如果你要求不存在的權重,它可能會引起奇怪的事情。大多數瀏覽器似乎使用算法粗體,如果要求重量爲600或更多,並且字體只有普通(400)字體。例如,設置font-weight: bold當文本處於Arial Unicode MS(不含粗體字體)時,會創建Arial Unicode MS的人爲粗體版本。

常用字體還有其他問題。有時您需要使用字體名稱,就好像它是字體名稱一樣,例如font-family: Arial Black而不是邏輯設置font-family: Arial; font-weight: 900。有時這不起作用,因爲某些瀏覽器只有邏輯方式起作用。

作爲一項規則,不要試圖除非您通過@font-face使用可下載字體(網頁字體),讓您在字體粗細問題控制使用其他的權重比正常的和大膽。大多數可以用作可下載的字體只包含兩個基本的權重,或者只有一個,但是有幾個權重的有趣的免費字體。

相關問題