如何在 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 属性是使文本在不同设备和分辨率上看起来更好的好方法。它允许您根据字体的预期用途调整其大小,这有助于提高可读性和在不同屏幕上创建更一致的设计。通过利用此功能,设计师能够确保他们的排版在任何设备上都能看起来很棒,而无需手动调整每个屏幕尺寸的设置。