如何在 CSS 中使用 font-optical-sizing 屬性?
在學習如何使用 font-optical-sizing 屬性之前,我們首先會了解 CSS 中的 font 屬性,以及為什麼需要將 font-optical-sizing 作為單獨的屬性。
網頁上文字的樣式由 CSS 中的font 屬性控制,它是許多其他屬性的簡寫。它可以用於將系統的字型應用於元素,或為其他 CSS 屬性設定不同的值。
字型屬性
此屬性應用於所有元素,並且本質上是可繼承的,這意味著子元素的字型將與父元素的字型相同,除非另有指定。
構成字型簡寫屬性的屬性如下所示:
Font-family − 它指定將應用於文字的字體系列,可以選擇提供一個字體系列列表,這些系列的優先順序從左到右。
Font-size − 用於控制字型或文字的大小。
Font-stretch − 可以使用此屬性設定字元面,這些字元面可以比普通字元更窄或更寬。
Font-style − 此屬性指定字型是否應顯示為粗體、斜體、下劃線或刪除線文字。
Font-variant − 控制字型變體併為連字設定不同的值。
Font-weight − 此屬性設定文字的粗細程度。
Line-height − 用於設定文字行之間的距離。
所有這些屬性都有一個初始值,無論它們是作為字型簡寫屬性的一部分使用還是單獨使用。對於大多數屬性,初始值為“normal”,font-size 的預設值為“medium”,font-family 的預設值取決於使用者的系統。
示例
下面給出了一個使用 font 屬性設定文字樣式的示例。
<!DOCTYPE html> <html lang="en"> <head> <title>Various font styles</title> </head> <body> <p style="font:caption">This text will be displayed as a caption.</p> <p style="font:icon">This text will be displayed as an icon.</p> <p style="font:menu">This text will be displayed as a menu.</p> <p style="font:message-box">This text will be displayed as message-box</p> <p style="font:small-caption">This text will be displayed as a smaller form of caption.</p> <p style="font:status-bar">This text will be displayed as status bar.</p> <p style="font: bold;">This will be bold</p> <p style="font-size: large;">This will have larger font size.</p> </body> </html>
什麼是 font-optical-sizing?
CSS 具有一個font-optical-sizing屬性,該屬性確定生成的文字是否針對各種螢幕尺寸進行了最佳化。瀏覽器可以透過更改字型字形的輪廓來使它們在各種尺寸下更易於閱讀。
如果字型支援 font-optical-sizing,對我們來說非常有利。這樣,我們可以確保文字始終適應使用者使用的螢幕。大多數可變字體系列都支援此屬性。當字型具有光學尺寸變化軸時,會自動啟用光學縮放。我們使用值 opsz 在 font-variation-settings 中表示光學尺寸變化軸。
使用光學縮放時,較小的字型尺寸通常以較粗的筆劃和較大的襯線顯示,而較大的文字通常以更精緻的方式生成,在較粗和較細的筆劃之間具有更大的對比度。
指定此屬性時可以使用以下值:
None − 當不需要光學修改文字時,使用此值。
Auto − 當必須根據螢幕尺寸調整字形的形狀時,瀏覽器使用此值。
除了這些之外,我們還可以使用全域性值(inherit、initial 和 unset)作為此屬性的值。
此屬性的初始值為 auto。它應用於所有元素,包括 ::first-letter 和 ::first-line 屬性。它是一個可繼承的值,瀏覽器指定的值用作其計算值。它具有離散動畫型別。
示例
下面給出了一個使用 auto 作為此屬性值的示例。
<!DOCTYPE html> <html> <head> <style type="text/css"> p { padding: 3%; font-weight: 700; font-optical-sizing: auto; } </style> </head> <body> <p>This text will be optically modified for all screen sizes.</p> </body> </html>
示例
此示例使用 inherit 作為屬性的值,這是 CSS 中可供我們使用的三個全域性屬性之一。
<!DOCTYPE html> <html> <head> <style type="text/css"> p { padding: 3%; font-weight: 700; font-optical-sizing: inherit; } </style> </head> <body> <p>This text will be optically modified for all screen sizes using inherit as its value.</p> </body> </html>
結論
總之,CSS 中的 font-optical-sizing 屬性是使文字在不同裝置和解析度上看起來更好的好方法。它允許您根據字型的預期用途調整其大小,這有助於提高可讀性和在不同螢幕上建立更一致的設計。透過利用此功能,設計師能夠確保他們的排版在任何裝置上都能看起來很棒,而無需手動調整每個螢幕尺寸的設定。