国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

詳解使用 CSS 的 font-size-adjust 屬性改善網(wǎng)頁排版

2024-07-11 08:58:40
字體:
供稿:網(wǎng)友

CSS 中的 font-size-adjust 屬性允許開發(fā)者基于小寫字母的高度指定 font-size ,這可以有效地提高網(wǎng)頁文字的可讀性。

在這篇文章中,你不僅能了解到font-size-adjust 屬性的重要性,并且還能學(xué)會如何在你的項目中使用它。

font-size-adjust 的重要性

你訪問的網(wǎng)站大多都是由文本組成的,由于書面文字是網(wǎng)站的重要組成部分,因此就很值得把注意力放到你用來顯示信息的字體上面。選對正確的字體能帶給用戶愉快的閱讀體驗,然而,使用不恰當(dāng)?shù)淖煮w則會使網(wǎng)站變得難以閱讀。當(dāng)你決定將要使用什么字體后,一般你就會再給這個字體選擇一個合適的大小。

font-size 屬性會設(shè)置網(wǎng)頁中所有 font-family 下你想使用的字體的大小,然而在大多數(shù)情況下,瀏覽器一般都是使用 font-family 下聲明的第一種字體。只有當(dāng)?shù)谝环N字體因為某些原因不可用時,瀏覽器才會使用候選字體繼續(xù)渲染頁面。

舉個例子,看下面的代碼:

body {  font-family: 'Lato', Verdana, sans-serif;}

如果你的瀏覽器從 Google Fonts 下載的 ‘Lato’ 字體不可用時,在這種情況下,Verdana 字體就會被使用。但是,腦海里 font-size 的值好像是針對 ‘Lato’ 字體設(shè)定的,而不是 Verdana。

什么是字體的縱橫比?

字體的外觀尺寸及其可讀性可能會因為 font-size 的值而產(chǎn)生很大的變化,特別像是對拉丁文這種文字會導(dǎo)致其在大小寫之間差別巨大。在這種情況下,小寫字母與對應(yīng)的大寫字母的高度比例是決定一種字體易讀性的重要因素,這個比值通常被叫做一種字體的縱橫比。

正如我之前說的,一旦你設(shè)置了 font-size 的值,這個值將會對所有的字體起作用。如果候選字體的縱橫比跟首選字體的縱橫比相差太大,這可能影響候選字體的易讀性。

font-size-adjust 屬性在這種情形下則扮演著一個尤為重要的角色,因為它允許你設(shè)置所有字體的 x 軸高度 為統(tǒng)一大小,以便提高文字的易讀性。

給 font-size-adjust 屬性選擇合適的值

現(xiàn)在你知道使用 font-size-adjust 屬性的重要性了吧,是時候把它用到你的網(wǎng)站上了。這個屬性的語法如下:

font-size-adjust: none | <number>

none 是默認(rèn)值,這個值意味著不調(diào)整字體的大小。

你也可以設(shè)置屬性的值為一個數(shù)字,這個數(shù)字將用來計算一張網(wǎng)頁上所有字體的 x 軸高度,x 軸高度等于這個數(shù)字乘以 font-size 的值。 這可以提高小尺寸字體的可讀性。以下是一個使用 font-size-adjust 屬性的例子:

font-size: 20px;font-size-adjust: 0.6;

所有字體的 x 軸高度現(xiàn)在是 20px * 0.6 = 12px,一種字體的實際大小現(xiàn)在可以被修改以確保 x 軸高度總是等于 12px。調(diào)整后 font-size 的值可以通過以下公式計算

c = ( a / a' ) s.

這里, c 指調(diào)整后的 font-size,s 指原先指定的 font-size,a 是 font-size-adjust 屬性指定的縱橫比,a' 指實際字體的縱橫比。

你不能設(shè)置 font-size-adjust 的值為負(fù)數(shù),設(shè)置為 0 則會致使文字沒有高度,換句話說,就是文字會被隱藏。在舊的瀏覽器中,例如 Firefox 40,如果設(shè)置其屬性值為 0 則相當(dāng)于設(shè)置為 none。

大多數(shù)情況下,開發(fā)者一般會嘗試不同的 font-size 取值以確定哪個值對給定的字體最好看。這意味著在理想情況下,他們希望所有字體的 x 軸高度與首選字體的 x 軸高度相等。換句話說,最合適的 font-size-adjust 取值就是你首選字體的縱橫比。

如何計算一種字體的縱橫比

要確定一種字體合適的縱橫比,你可以憑實際經(jīng)驗就是調(diào)整后的字體大小應(yīng)該跟原來聲明的字體大小一樣。這就是說上面公式中的 a 應(yīng)該跟 a' 相等。

計算縱橫比的第一步是先創(chuàng)建 2 個 <span> 元素,每個 <span> 元素將會包含一個字母和一個包圍著字母的邊框(因為我們要進(jìn)行比較,所以每個 <span> 中的字母都必須相同)。同時,每個元素的 font-size 屬性值都應(yīng)該相同,但只有一個元素會使用 font-size-adjust 屬性。當(dāng) font-size-adjust 的值等于給定字體的縱橫比時,每個 <span> 下的字母都是一樣的大小。

在下面的 demo 中,我創(chuàng)建了一個邊框圍繞著字母 ‘t’ 和 ‘b’ 并且對每組字母應(yīng)用了不同的 font-size-adjust 屬性值。

以下是相關(guān)代碼:

.adjusted-a {  font-size-adjust: 0.4;}.adjusted-b {  font-size-adjust: 0.495;}.adjusted-c {  font-size-adjust: 0.6;}

正如下面 demo 所示,font-size-adjust 的值越大則字母會顯得越大,反之則越小,當(dāng)該值等于縱橫比時,每組字母的尺寸都相等。

 

在網(wǎng)站上使用 font-size-adjust

以下 demo 使用的 font-size-adjust 取值于上一個 CodePen demo 中為 ‘Lato’ 字體設(shè)置的值,現(xiàn)在將會用來調(diào)整 ‘Verdana’ 這個候選字體。會有一個按鈕控制修改是否發(fā)生,所以你可以看出修改前后的變化:

 

當(dāng)你處理大量文字時效果會更加引人注目,然而上面的例子應(yīng)該足夠讓你認(rèn)識到這個屬性的有用之處。

瀏覽器支持

目前,只有 Firefox 默認(rèn)支持 font-size-adjust 屬性。Chrome 和 Opera 分別從 43 和 30 版本開始作為試驗特性予以支持,開發(fā)者需前往 chrome://flags 中開啟 “Experimental Web Platform Features” 選項。Edge 和 Safari 不支持這個屬性。

如果你決定使用這個屬性,低版本瀏覽器的支持將不成問題,這個屬性被設(shè)計時就已經(jīng)考慮到向后兼容性,不支持的瀏覽器會正常的顯示文本,支持的瀏覽器則會基于該屬性的值調(diào)整字體大小。

總結(jié)

讀完這篇文章后,你應(yīng)該知道 font-size-adjust 屬性是什么,為什么它很重要以及如何計算出不同字體的縱橫比。

因為 font-size-adjust 在舊瀏覽器中優(yōu)雅降級,你今天就可以直接應(yīng)用該屬性到你的生產(chǎn)環(huán)境中,以便提高頁面文字易讀性。

你還有其他工具或方法可以幫助開發(fā)者更快地計算縱橫比嗎?留言告訴他們吧。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 荣昌县| 延长县| 万全县| 西峡县| 白朗县| 偏关县| 桓仁| 土默特右旗| 开原市| 理塘县| 阿鲁科尔沁旗| 和田市| 会东县| 垫江县| 晋中市| 西城区| 通辽市| 仪陇县| 阿城市| 静海县| 墨玉县| 英山县| 承德市| 阳原县| 连江县| 浠水县| 平顶山市| 东平县| 商河县| 株洲县| 上林县| 凤山县| 平潭县| 格尔木市| 盐亭县| 茌平县| 缙云县| 潢川县| 永康市| 缙云县| 桃园县|