CSS - 字體:初学者的全面指南

Hello there, 有抱负的网页开发者们!今天,我们将深入CSS字体的奇妙世界。作为你友好的人工智能助手,我将一步一步地引导你。那么,拿起一杯咖啡(或者茶,如果你喜欢的话),让我们开始吧!

CSS - Fonts

CSS 字体的介绍

在我们深入了解之前,让我们先谈谈为什么字体如此重要。想象一下,你正在阅读一本完全用Comic Sans字体写的书——这并不是最愉快的体验,对吧?这就是为什么为你的网站选择正确的字体至关重要。这就像为初次约会挑选完美的服装——你想要留下好印象!

CSS 字体简写属性

让我们从一个方便的小技巧开始,称为字体简写。它就像一把瑞士军刀一样的字体样式工具——紧凑且多用途!

body {
font: italic small-caps bold 16px/2 Arial, sans-serif;
}

这一行代码一次性设置了多个字体属性。让我们分解一下:

  • italic:字体样式
  • small-caps:字体变体
  • bold:字体重量
  • 16px:字体大小
  • 2:行高
  • Arial, sans-serif:字体家族

相当不错,对吧?就像点一份套餐而不是单个项目!

CSS 字体 - 使用多个值

有时候,一个字体是不够的。这时,多个值就派上用场了:

p {
font-family: "Trebuchet MS", Verdana, sans-serif;
}

这就像有一个备份计划。如果 "Trebuchet MS" 不可用,它会尝试 Verdana,如果那个也不行,它会使用任何可用的无衬线字体。

CSS 字体 - 字体家族

说到字体家族,让我们更深入一些:

h1 {
font-family: Georgia, serif;
}
p {
font-family: Arial, sans-serif;
}

在这里,我们为标题和段落使用不同的字体家族。这就像让你的标题穿上正式西装,而让段落保持休闲装!

CSS 字体 - 字体特征设置

现在,让我们用字体特征设置来玩点花哨的:

p {
font-feature-settings: "smcp" on, "swsh" 2;
}

这激活了小型大写字母并将花体设置为第2级。就像给你的字体赋予超能力!

CSS 字体 - 使用 font-feature-settings 属性

让我们看看另一个 font-feature-settings 的例子:

.stylish-text {
font-feature-settings: "liga" 1, "dlig" 1, "hlig" 1;
}

这启用了标准连字、可选连字和历史连字。就像把你的文本变成了一幅书法杰作!

CSS 字体 - 字体间距

字体间距是关于字符之间的空间:

.kerned-text {
font-kerning: normal;
}

这确保了字母之间正确的间距。就像给你的文本留出呼吸空间!

CSS 字体 - 字体语言覆盖

有时候,你需要覆盖语言设置:

.japanese-text {
font-language-override: "JAN";
}

这告诉浏览器使用特定于日语的符号变体。就像告诉你的文本说日语!

CSS 字体 - 字体光学大小

光学大小根据字体大小进行调整:

.headline {
font-optical-sizing: auto;
}

这允许字体在不同大小下优化其外观。就像拥有一个变形字体!

CSS 字体 - 字体调色板

字体调色板允许你使用预定义的颜色方案:

@font-palette-values --custom-palette {
font-family: Pixelify Sans;
base-palette: 1;
}

.colored-text {
font-palette: --custom-palette;
}

这将对你的字体应用一个自定义颜色调色板。就像给文本做了一个改造!

CSS 字体 - 字体大小

字体大小相当直接:

body {
font-size: 16px;
}
h1 {
font-size: 2em;
}

在这里,我们为正文设置了一个基础大小,并将标题设置为两倍大。就像给文本施加了增长药剂!

CSS 字体 - 字体大小调整

字体大小调整有助于在不同字体之间保持可读性:

.adjusted-text {
font-size-adjust: 0.5;
}

这根据 x 高度调整字体大小。就像给文本穿上一双增高鞋!

CSS 字体 - 字体拉伸

字体拉伸允许你压缩或扩展字体:

.stretched-text {
font-stretch: extra-expanded;
}

这使得文本更宽。就像你的文本去了健身房并且增肌了!

CSS 字体 - 使用 font-style 属性

字体样式让你可以斜体化文本:

.emphasized {
font-style: italic;
}

这给了文本一个斜体。就像你的文本在倾斜着低语一个秘密!

CSS 字体 - 使用 font-weight 属性

字体重量控制文本的粗细:

.important {
font-weight: bold;
}

这使得文本更加突出。就像你的文本在展示肌肉!

CSS 字体 - 使用 font-synthesis 属性

字体合成控制浏览器如何创建字体的粗体或斜体版本:

.no-fake-bold {
font-synthesis: none;
}

这阻止浏览器创建合成粗体版本。就像告诉你的浏览器,“不要假装直到你做到!”

CSS 字体 - 使用 font-variant 属性

字体变体让你可以使用替代符号:

.smallcaps {
font-variant: small-caps;
}

这将小写字母变成小型大写字母。就像你的文本穿上了小号燕尾服!

CSS 字体 - 使用 font-variation-settings 属性

字体变化设置为你提供对可变字体的细致控制:

.custom-font {
font-variation-settings: "wght" 375, "wdth" 80;
}

这设置了自定义的重量和宽度值。就像为你的文本定制了一套西装!

CSS 行高

行高控制文本行之间的空间:

p {
line-height: 1.5;
}

这设置了行高为字体大小的1.5倍。就像给文本留出伸展腿部的空间!

CSS 字体 - Google Fonts

Google Fonts 是一个免费的、网络友好的字体宝库:

<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
body {
font-family: 'Roboto', sans-serif;
}

这导入并使用了 Roboto 字体。就像拥有一个个人字体造型师!

CSS 字体 - 备份字体

总是提供备份字体:

body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

这确保你的文本总是看起来很好,即使你首选的字体不可用。就像为你的备份计划准备了一个备份计划!

CSS 字体 - 总结

这是我们涵盖的所有字体属性的快速总结:

属性 描述 示例
font 多个字体属性的简写 font: italic bold 16px/2 Arial, sans-serif;
font-family 指定字体家族 font-family: Arial, sans-serif;
font-feature-settings 控制高级排版功能 font-feature-settings: "smcp" on;
font-kerning 控制字体间距 font-kerning: normal;
font-language-override 覆盖特定语言的符号替换 font-language-override: "JAN";
font-optical-sizing 控制光学大小调整 font-optical-sizing: auto;
font-palette 指定字体调色板 font-palette: --custom-palette;
font-size 设置字体大小 font-size: 16px;
font-size-adjust 根据x高度调整字体大小 font-size-adjust: 0.5;
font-stretch 控制字体拉伸 font-stretch: extra-expanded;
font-style 设置字体样式(正常、斜体、倾斜) font-style: italic;
font-weight 设置字体重量 font-weight: bold;
font-synthesis 控制字体面的合成 font-synthesis: none;
font-variant 指定字体变体 font-variant: small-caps;
font-variation-settings 控制可变字体特性 font-variation-settings: "wght" 375;
line-height 设置行高 line-height: 1.5;

就这样,朋友们!关于CSS字体的全面指南。记住,排版是一种艺术形式,现在你已经有了成为真正艺术家的工具。快乐编码,愿你的字体总是那么出色!

Credits: Image by storyset