在本文中,我們將查看圍繞變量字體的令人興奮的新可能性 - 現在與Opentype可伸縮字體格式捆綁在一起 - 允許單個字體像多個字體一樣行為。
鑰匙要點> 2008年, @font-face終於捲土重來了,當Apple Safari和Mozilla Firefox實施它時。這是出於為設計人員和開發人員提供自定義字體而不是無法訪問的圖像的簡單方法的必要性。
>直到2012年CSS3字體模塊到達字體,字體下載才變得可行。實施後,網頁下載的字體只能在該頁面上使用,而不會復製到操作系統。字體下載允許瀏覽器下載和使用遠程字體,這意味著Web設計人員現在可以使用未安裝在用戶計算機上的字體。當Web設計人員找到他們希望使用的字體時,他們只需要在Web服務器上包含字體文件,並且在需要時會自動將其下載給用戶。使用 @font-face規則引用了這些字體。>要使用 @font-face規則,我們必須定義字體名稱並指向字體文件:
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>字體文件可以是五種不同格式之一:TTF,WOFF,WOFF2,SVG或EOT。每個都有自己的優勢和缺點。簡而言之,EOT是由Microsoft創建的,僅受Internet Explorer的支持。 TTF是Microsoft和Apple創建的基本類型字體,它在任何地方都可以正常工作。 SVG基於圖像替換技術,僅適用於網絡。最後,Woff和Woff2也是專門為Web創建的,基本上是帶有額外壓縮的TTF文件。
>
>變量字體>該技術允許單個字體的行為像多種字體一樣。它是通過定義字體內的變化來完成的。這些變化源於每個角色只有一個大綱的事實。構建此大綱的觀點有關於如何表現的指示。沒有必要定義多個字體權重,因為它們可以在非常狹窄和非常寬的定義之間插值。這也使得在介於兩者之間的樣式中也可以,例如,半折和粗體。這些變化可能沿字體的一個或多個軸作用。在下圖上,我們在字母A上有一個大綱插值的示例。
為什麼可變字體相關? >
可變字體可以為我們的字體結構和性能改進帶來簡單性。以我們的網站需要五種字體樣式的情況為例。提供能夠渲染這五種樣式的單個變量字體要比加載五個不同的字體文件要小得多,更快。
當前有兩種不同的使用可變字體的方法。首先,我們將研究實施這些實施的現代方式。 CSS規範強烈使用字體 - 光學尺寸,字體風格,字體權重和字體 - 拉伸來控制任何標準軸。
>字體風格
> font-weight
此屬性從字體中選擇一個普通,凝結或展開的面部。就像字體重量屬性一樣,它可以是一個命名的實例,例如超固定或正常或百分比在0%至100%之間。此外,命名實例將映射為已知百分比。例如,傳遞的超敏將映射到62.5%。
段落。
請參閱codepen上的sitePoint(@sitepoint)的筆變量字體。
當前,我們未經風格的網頁看起來像這樣:
>要使用變量字體,我們必須找到合適的文件。 V-Fonts項目提供了一個字體存儲庫,我們可以在其中搜索和實驗所有類型的可變字體。我決定使用avenirnext字體,然後從其官方的github頁面鏈接它。
>
然後,我們需要創建一個CSS文件來加載此新字體:
由於瀏覽器支持問題,此示例僅在Safari和Chrome中應用字體變化。
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>>請參閱codepen上的sitepoint(@sitepoint)的筆源變量字體。
>大多數時候我們還需要兩個不同的字體文件:一個用於斜體,一個用於常規字體(羅馬)。之所以發生這種情況,是因為這些字體的構造可能會完全不同。
>
使用字體變量 - 安排
聲明等於以下CSS聲明:
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>
,但是我們可以走得更遠。當我們談論字體格式時,我們說WOFF2文件本質上是帶有額外壓縮的TTF文件。 WOFF2文件較小,因為它們使用自定義預處理和壓縮算法來交付約30%的文件大小比其他格式的文件大小。
>
Google提供了一個命令行工具,該工具將壓縮我們的文件將其轉換為woff2格式。
在工具的官方GitHub頁面上,我們可以找到有關它的所有信息。要在UNIX環境中安裝它,我們可以使用以下命令:
安裝後,我們可以使用以下方式使用它來壓縮我們的變量字體文件
<span><span>@font-face</span> { </span> <span>font-family: 'Avenir Next Variable'; </span> <span>src: <span>url('AvenirNext_Variable.ttf')</span> format('truetype'); </span><span>} </span> <span>body { </span> <span>font-family: 'Avenir Next Variable', sans-serif; </span><span>} </span>>我們最終得到了一個42KB文件,該文件將文件大小減半。要使用此文件,我們只需要修改來源文件及其格式即可容納此新文件:
>現在,我們有一個42KB文件,該文件可用於我們頁面上的所有字體權重。 WOFF2格式的唯一缺點是Internet Explorer不支持它。
<span>h1 { </span> <span>font-family: 'Avenir Next Variable'; </span> <span>font-weight: 430; </span><span>} </span>>
>為不同的瀏覽器提供不同的文件
<span>p { </span> <span>font-variation-settings: 'wght' 630, 'wdth' 88; </span><span>} </span>>一些現代瀏覽器已經支持變量字體(Firefox開發人員版本具有一定程度的支持,Chrome 62,Chrome Android,Safari IOS和Safari),但可能有些情況下,我們發現了一個。 > 為了解決這個問題,我們需要為這些瀏覽器提供不可變化,或者使用操作系統字體後備。
請參閱Codepen上的SitePoint(@sitepoint)的Pen多個字體。
如果我們在支持變量字體的瀏覽器上檢查結果,例如Chrome,我們可以看到以下內容:
在不支持可變字體(例如Firefox)的瀏覽器上,將加載第二個字體,結果看起來像這樣:
<span>p { </span> <span>font-weight: 630; </span> <span>font-stretch: 88; </span><span>} </span>>
但是,如果我們仍然必須為不支持變量的瀏覽器提供不可變化的字體,那麼我們是否會失去使用可變字體獲得的所有性能?如果瀏覽器只能加載標準字體,我們將失去可變字體的性能和渲染優勢。在這種情況下,最好是退回到可比的操作系統字體,而不是用許多固定字體代替。
結論>
經常詢問有關可變字體的問題(常見問題解答)我可以使用Google字體使用可變字體? 。當您在Google字體上選擇字體時,您可以選擇“變量”選項以下載變量字體版本。然後,您可以在CSS中使用“字體變量 - 分配”屬性來調整字體的變化。
>有許多流行的變量字體可用,包括Roboto,Source SANS,Amstelvar和Decovar。這些字體提供了廣泛的變化,適合各種設計樣式。您可以在v-fonts.com或Google字體等網站上找到更多可變字體。
>
>可變字體的局限性是什麼?
以上是可變字體:它們是什麼,以及如何使用它們的詳細內容。更多資訊請關注PHP中文網其他相關文章!