首頁 >web前端 >css教學 >CSS中關於字體​​加粗屬性font-weight以及運作方式的詳解

CSS中關於字體​​加粗屬性font-weight以及運作方式的詳解

黄舟
黄舟原創
2017-07-22 13:28:044291瀏覽

  font-weight允許值   normal | bold | bolder | lighter | l00 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900

##  weight初始值   normal

   font-weight可否繼承   是

   font-weight適用於   所有元素

要理解用戶代理怎麼決定字體變形的粗細,得先從關鍵字100到900談起,然後我們再來看它是如何繼承的。

   這些數字關鍵字用來定義與字體的相關特徵的映射關係,即字體的粗細被分成九個等級。例如,OpenType就使用了九個值的數字級。字體有了這 等級之後,這些數字就直接映射到各個級,如100映射到最輕的字體變形,而900對應最重的字體變形。

   事實上,在這些數字中並不存在本質的字體粗細的約定。 CSS指出,每個數字對應的字體粗細不得小於它前面的數字所對應的字體粗細。

   這樣,100,200,300和400或許都對應同樣粗細的字體變形,而500和600可能對應到一個更粗的字體變形,700,800和900則對應下另一種更粗的字體變形。

   這數字被定義為同某些普通的,而
700對應於bold

字體變形名等價。

400等價丁normal

   其他數字不對應任何

font-weight屬性的關鍵字,但它們可以對應到普通的字體變形名。如果某種字體變形標記為“Normal”、“Regular”、“Roman”或“Book”,那麼它便被分配給400,而且任何標記為“Medium”的字體變形就對應於500。

   然而,如果標示為「Medium」的字體變形是唯一可用的字體,那麼它就不能與500相對應。

   如果在某個給定的字體系列裡少於九個字體粗細級,則使用者代理需要做更多的工作。在這種情況下,它必須用一種預先定義的方式來填滿其間的空隙:

   如果值500未分配,它就被賦予同400一樣的

字體粗細。

   如果300未分配,它就比400稍輕的字體變形對應。如果沒有更輕的字體可用,300就同400一樣對應某個層級。這通常是在“Normal”和“Medium”情況下。同樣的方法用於100和200。

   如果600未分配,它便與400稍重的字體變形對應。如果沒有這樣的字體可用,600就同500一樣對應某種字體變形。這種方法也用於700,800和900。

   為了方便理解,讓我們來看三個

字體粗細分配的例子,首先假設字體系列Karrank%是OpenType字體,而且已經定義了9個對應的粗細級。

   在這裡,這些數字分別對應於各級,而關鍵字normal和bold各自分配給400和700。在第二個例子裡,我們考慮字體系列Zurich,它在本內容的開始提到。假設其字體變形也被分配了下面的粗細值。

  
字體形式:Zurich Light   指派的關鍵字:空白   指派的數字:100,200,300


#  字體


#形式:Zurich Regular   分配的關鍵字:normal   分配的數字:400


##    字體形式:Zurich Medium   分配的關鍵字:   分配的數字:500


   字體形式:Zurich Bold   指派的關鍵字:bold   指派的數字:600,700



##    字體形式:Zurich Black   指派的關鍵字:空白   指派的數字:800


   字體形式: Zurich UltraBlack   分配的關鍵字:空   分配的數字:900

### ###    前三個數字分配給最輕的字體。普通字體對應關鍵字400和normal。 ######    Medium字體分配給數字500。沒有字體變形分配給600,因此將600和700一起對應於同一字體變形Bold字體。最後800和900分別分配給Black和UltraBlack######字體變形。 ###### ###    也只有當最上面的兩個粗細級已經分配後,才會出現這樣的情況。 ######    否則使用者代理程式可能會忽略它們,並將800和900指派給Bold字體,或將它們指派給兩個Black字體變形之一。最後,讓我們來看看Times宇體,它只有兩種字體變形,TimesRegulal和TimesBold,如下所示。 ###


   字體形式:TimesRegular   指派的關鍵字:normal   已指派的數字:100,200,300,400,500

的關鍵字:bold   分配的數字:600,700,800,900
   關鍵宇normal和bold的分配相當直接。對於這些數字,100到300分配給Regular字體,但500怎麼辦呢?它被分配給Regular字體了,因為沒有Medium字體;這樣它就同400一樣了。

   剩下的,700總是分配給bold字體,而800和900,由於缺乏更粗的字體,也分配給Bold字體。最後,600被分配到下一個

更粗的字體,當然,也只有bold字體了。

   字體粗細可被繼承,如果將段落設為bold,則所有的子元素都會繼承粗體,如下:

   p.one {
font-weight:bold; }

以上是CSS中關於字體​​加粗屬性font-weight以及運作方式的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn