PHP前端开发

如何在 CSS 中使用 font-optical-sizing 属性?

百变鹏仔 4周前 (09-20) #CSS
文章标签 属性

在学习如何使用font-optical-sizing属性之前,我们首先要看一下CSS中的font属性以及为什么需要将font-optical-sizing作为一个单独的属性。

网页上文本的样式由CSS中的font属性控制,它是许多其他属性的简写形式。它可以用于将系统字体应用于元素,或为其他CSS属性设置不同的值。

字体属性

此属性适用于所有元素,并且本质上是可继承的,这意味着子元素的字体将与父元素的字体相同,除非另有指定。

构成字体速记属性的属性如下 -

立即学习“前端免费学习笔记(深入)”;

  • Font-family - 它指定将应用于文本的字体系列,您可以选择提供具有优先级的系列列表从左到右。

  • 字体大小 − 用于控制字体或文本的大小。

  • 字体拉伸 − 您可以使用此属性来设置字符面,这些字符面可以比正常字符更窄或更宽。

  • 字体样式 − 此属性指定字体是否应以粗体、斜体、下划线或删除线文本显示

  • Font-variant - 控制字体变体并为连字设置不同的值。

  • Font-weight - 此属性设置文本显示的粗体程度。

  • 行高- 用于设置文本行之间的距离。

所有这些属性,无论是作为字体速记属性的一部分还是单独使用,都有一个初始值。对于大多数来说,初始值是“正常”,字体大小的默认值是“中”,字体系列的默认值取决于用户的系统。

示例

下面给出一个使用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>

什么是字体光学大小?

CSS 有一个 font-optical-sizing 属性,用于确定生成的文本是否针对各种屏幕尺寸进行优化。浏览器可以更改字体字形的轮廓,使其在各种尺寸下都更清晰。

如果字体支持字体光学调整大小,对我们来说非常有优势。这样我们可以确保文字始终适应用户使用的屏幕。大多数可变字体系列都支持此属性。当字体拥有光学大小变化轴时,光学调整大小会自动启用。我们使用字体变体设置中的opsz值来表示光学大小变化轴。

使用光学缩放时,较小的字体尺寸通常会显示为较粗的笔划和较大的衬线,而较大的文本通常会显示得更精致,较粗和较细的笔划之间的对比度更大。

在指定此属性时,可以使用以下值 -

  • None − 当我们不需要光学修改的文本时,我们使用此值。

  • 自动 - 当我们必须根据屏幕尺寸调整字形形状时,浏览器将使用此值。

除此之外,我们还可以将全局值(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>

示例

此示例使用继承作为属性的值,该属性是我们可以在 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 属性是让文本在不同设备和分辨率上看起来更好的好方法。它允许您根据预期用途调整字体的大小,这有助于提高可读性并在不同屏幕上创建更一致的设计。通过利用此功能,设计人员能够确保他们的版式无论在什么设备上查看都看起来很棒,而无需手动调整每个屏幕尺寸的设置。