成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

字體顯示方案

codeGoogle / 1121人閱讀

摘要:瀏覽器默認方案瀏覽器加載字體完成之前,文本默認是不顯示的,這種情況通常叫做。具體瀏覽器是怎么弄的,參考在指定字體加載完成前用字體先為相應的元素設置字體然后用監(jiān)聽字體加載,在加載完成的時候可以為相應的元素添加新的解決方案相關閱讀使用

此文系讀 font-display 后感,原發(fā)在 issues blog 里面。

瀏覽器默認方案

瀏覽器加載字體完成之前,文本默認是不顯示的,這種情況通常叫做 FOIT。這種方案的好處是不會經歷一個 fallback 字體 -> 指定字體的一個跳轉,缺點是在網絡差的情況下會有一段時間的空白。默認情況下大多數(shù)瀏覽器會等 3 秒鐘,如果 3 秒鐘之后還是渲染不出來就轉而選擇 fallback 字體,其中 safari 可能會等得更久,在沒有網絡的情況下,文本壓根就不渲染了(因為字體加載不出來)。具體瀏覽器是怎么弄的,參考 Differences in Font Rendering Today

在指定字體加載完成前用 fallback 字體

先為相應的元素設置字體:

p {
  font-family: "Arial", "Helvetica", sans-serif;
}

.font-loaded p {
  font-family: "Open Sans Regular";
}

然后用 fontfaceobserver 監(jiān)聽字體加載,在加載完成的時候可以為相應的元素添加 class:

const font = new FontFaceObserver("Open Sans Regular");
const p = document.querySelector("p")
font.load().then(function () {
  p.classList.add("font-loaded")
})
新的 CSS 解決方案
@font-face {
  font-family: "Open Sans Regular";
  font-weight: 400;
  font-style: normal;
  src: url("fonts/OpenSans-Regular-BasicLatin.woff2") format("woff2");
  font-display: swap;
}

auto: The default value. The typical browser font loading behavior will take place, which is to hide typefaces that use custom fonts, and then display the affected text when fonts finish loading.

swap: The fallback text is shown immediately until the custom font loads. In most cases, this is what we"re after. JavaScript-driven font loading solutions almost always aim to emulate this setting.

fallback: This is sort of a compromise between auto and swap. There will be a short period of time (100ms according to Google) that text styled with custom fonts will be invisible. The unstyled text will then appear (if the custom font hasn"t already loaded by this point.) Once the font loads, the text is styled appropriately.

optional: Operates exactly like fallback in that the affected text will initially be invisible for a short period of time, and then transition to a fallback font. The similarities end there, though. The optional setting gives the browser freedom to decide whether or not a font should even be used, and this behavior hinges on the user"s connection speed. On slow connections, you can expect that custom fonts may not load at all if this setting is used.

相關閱讀

Controlling Font Performance with font-display- Google developers

使用 Google Fonts

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/111447.html

相關文章

  • 一種不完美的網頁字體異步加載方法

    摘要:在字體的過程中,先用一種最接近目標字體的安全字體來顯示,等字體文件加載完后進行替換。第個方案是一種迫不得已的選擇,在用戶眼皮底下更換字體,是非常影響體驗的,好處是字體屬于異步加載,不會阻塞文本顯示。 問題 最近在做一個項目時,遇到了這樣一個問題:網頁大標題要用設計師指定的中文字體,該字體文件比較大,瀏覽器加載字體文件的過程中是不會顯示使用該字體的文本的,于是出現(xiàn)了初次打開網頁時有一段時...

    xiaokai 評論0 收藏0
  • python matplotlib 中文顯示參數(shù)設置

    摘要:最近在學習著名的繪圖包時發(fā)現(xiàn),有時候圖例等設置無法正常顯示中文,于是就想把這個問題解決了。原因大致就是庫中沒有中文字體。 最近在學習python著名的繪圖包matplotlib時發(fā)現(xiàn),有時候圖例等設置無法正常顯示中文,于是就想把這個問題解決了。 PS:本文僅針對Windows,其他平臺僅供參考。 原因 大致就是matplotlib庫中沒有中文字體。1我安裝的anaconda,這是對應的...

    Pocher 評論0 收藏0

發(fā)表評論

0條評論

codeGoogle

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<