使用CSS3 font-feature-settings特性減除字體動畫震顫效果

在做 GithubProfile 項目的時候,使用了數(shù)字動畫展示的效果,如My GithubProfile頁面中的commits,stars以及followers數(shù)字。實際使用中,由于數(shù)字字體不等寬,造成在數(shù)字增長動畫時很明顯的震顫,體驗非常不好。
這里我最終使用了CSS的 font-feature-settings
的屬性來解決了這一問題,先來看解決前后的效果對比圖。
font-feature-settings
font-feature-settings
是CSS的高級特性,用來提供對OpenType字體圖形展示調(diào)節(jié), MDN·font-feature-settings 。
首先CSS3提供了一組與OpenType字體特性顯示映射的屬性和值,這里我們首先利用了 font-variant-numeric
,并將其值設(shè)為 tabular-nums
,這表示要求字體的數(shù)字圖像保持尺寸一致,并像在表格中一樣對齊,這等同于OpenType字體中的 tnum
。
當沒有對應(yīng)的屬性映射時,我們則可以使用 font-feature-settings
屬性,這里我們直接將其設(shè)為要求的OpenType屬性 tnum
。
font-feature-settings
和 font-variant-numeric
屬性可以同時應(yīng)用,它們其中任何之一都可以達到相同的效果,但是為了更多的兼容支持,對它們同時做了定義。
兼容性
font-feature-settings兼容性:
font-variant-numeric兼容性:
在CanIUse數(shù)據(jù)庫中未找到結(jié)果,貼上MDN的兼容性說明
可以看出 font-feature-settings
的主流瀏覽器兼容支持比較好,所以使用時優(yōu)先利用該特性。
Demo對比
這里給出 montserrat
字體在開啟該特性前后的效果
總結(jié)
以上所述是小編給大家介紹的使用CSS3 font-feature-settings特性減除字體動畫震顫效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時控制行和列,相比 Flex(一維布局),更適合用在整體頁面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個非常基礎(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細介紹 padding 和 margin 的概念、區(qū)別以及如何在實際項目中使用它們2025-04-07- will-change 是一個 CSS 屬性,用于告訴瀏覽器某個元素在未來可能會發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網(wǎng)頁的外觀和布局,更是實現(xiàn)復(fù)雜交互和動態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級,本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細介紹了CSS中的打印媒體查詢@mediaprint包括基本語法、常見使用場景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁控制、調(diào)整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標懸浮顯示提示文字效果,通過設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動態(tài)設(shè)置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對象語法和數(shù)組語法,通過對象語法,可以根據(jù)條件動態(tài)切換類名或樣式;通過數(shù)組語法,可以同時綁定多個類名或樣式,此外2025-02-26