溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html5中如何解決自定義字體問題

發(fā)布時間:2022-03-18 11:50:35 來源:億速云 閱讀:403 作者:小新 欄目:開發(fā)技術

小編給大家分享一下html5中如何解決自定義字體問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

應用情景

業(yè)務搬磚需求需要用原設計稿給出的字體,使用@font-face引入后,發(fā)現(xiàn)字體包太大10M左右,每次請求服務器10M流量會造成服務器壓力,影響用戶體驗

第一步:使用@font-face

MDN概述

這是一個叫做@font-face 的CSS @規(guī)則 ,它允許網(wǎng)頁開發(fā)者為其網(wǎng)頁指定在線字體。 通過這種作者自備字體的方式,@font-face 可以消除對用戶電腦字體的依賴。 @font-face 不僅可以放在在CSS的最頂層, 也可以放在 @規(guī)則 的 條件規(guī)則組 中。

簡單來說就是可以在網(wǎng)頁上用自己的字體包 可以放在類似@media媒體查詢等@規(guī)則中

用法

@font-face CSS at-rule 指定一個用于顯示文本的自定義字體;字體能從遠程服務器或者用戶本地安裝的字體加載. 如果提供了local()函數(shù),從用戶本地查找指定的字體名稱,并且找到了一個匹配項, 本地字體就會被使用. 否則, 字體就會使用url()函數(shù)下載的資源。

通過允許作者提供他們自己的字體,@font-face 讓設計內(nèi)容成為了一種可能,同時并不會被所謂的"網(wǎng)絡-安全"字體所限制(字體如此普遍以至于它們能被廣泛的使用). 指定查找和使用本地安裝的字體名稱可以讓字體的自定義化程度超過基本字體,同時在不依賴網(wǎng)絡情況下實現(xiàn)此功能。

在同時使用url()和local()功能時,為了用戶已經(jīng)安裝的字體副本在需要使用時被使用,如果在用戶本地沒有找到字體副本就會去使用戶下載的副本查找字體。
@font-face 規(guī)則不僅僅使用在CSS的頂層,還可以用在任何CSS條件組規(guī)則中.

簡單來說就是@font-face 突破網(wǎng)絡安全限制,可以讓作者自由使用自己想要的字體,可以用在任何css條件組規(guī)則中,這里不對其local()函數(shù)做額外延伸。

下面貼一個日常用法:

@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),//后綴是字體文件格式 常見有ttf svg等
       url("/fonts/OpenSans-Regular-webfont.woff") format("woff");
}

這里提供一個在線字體轉化網(wǎng)站字體格式轉化

第二步:字體包壓縮

成功引入后,就發(fā)現(xiàn)字體包太大了,這里就涉及字體包壓縮,使用一個字體包壓縮器 font-spider。

font-spider使用

基本原理

通過匹配html中用到的文體,刪除剩余沒有用到的文字。達到壓縮字體包的目的。

安裝:

npm install font-spider -g

沒有安裝node npm的同學,請尋找安裝方法

使用:

@font-face {
    font-family: mysimhei;
    src: url(../../../simhei.ttf);
}
p{
    font-family: mysimhei;
}

注意如果使用要在css文件中先這樣引入:

font-spider ./demo/*.html

這里的*號是表示匹配全部 也可指定html。

font-spider ./demo/*.html ./demo/pages/index.html

多文件的話用空格分開

以上是“html5中如何解決自定義字體問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI