充分利用网页排版的有限选择

Avatar of Chris Coyier
Chris Coyier 发表

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费积分!

那么,我们这里到底有什么呢?

就字体选择的多样性而言,情况相当黯淡。但 Helvetica 并非因为字体不好而几乎存在于每台电脑上。如果你问我,它实际上是一款**很棒**的字体,只是人们厌倦了看到它被使用,却没有得到应有的重视。由于(一般来说)无法将字体“嵌入”网页,因此您需要选择保证所有用户系统中都存在的字体。如果您想选择“Avenir 85 HeavyCondensed”,但它将为 99% 的用户回退到浏览器默认字体。即使只有大约 ≈10 种完全的网络安全字体,但这并不意味着您的网页排版注定要糟糕。您可以做很多事情来确保充分利用有限的选择。

本文底部包含所有常规网络安全字体的标题和示例段落。这可能不会在 RSS 阅读器中显示,抱歉!在网站上查看帖子以获取实时示例。

如何处理“放大字体!”

我相信您之前肯定从客户或试图提供帮助的家人那里听到过这句话。他们真正想要表达的意思是“需要更容易阅读”。有时解决方法是放大字体,但同样常见的是其他因素导致难以阅读。以下是一些尝试的方法,而不是盲目地放大字体

  • 为文本区域提供充足的空白(填充)。文本需要呼吸的空间才能易于阅读,此外,空白通常在设计中是一件好事。
  • 使文本更小。这可能行不通,但您会惊讶地发现它有多有效。就像我说的,文本需要呼吸的空间,缩小它可能会腾出一些空间,实际上使其更容易阅读。
  • 增加行距。再次强调呼吸,行间增加额外空间可能是医生开的药方。

字距调整:它是可能的,但并不美观

如果您在网站上的某个特定单词上发现明显的字距调整错误,则可以修复它,但这并不是最语义健康的方法。您需要做的是隔离字距调整问题之前的字母,并对其应用正或负的字母间距以进行修复。例如

<span class="kern">W</span>ashington

然后在您的 CSS 中设置字距调整类的样式

.kern { letter-spacing: -0.1em; }

请注意,使用 em 值是为了使其能够随着用户调整文本大小而扩展和收缩,而不是静态的像素距离。此技巧来自此 示例

控制孤行和寡行

由于文本大小在网页上从来都不是绝对的,因此控制孤行和寡行并不容易(在大多数情况下甚至不可能)。您能做的最好的事情是在您看到令人反感的孤行的地方手动插入<br />标签。执行此操作后进行一些测试,上下调整文本,并确保您不会通过创建奇怪的文本流使情况变得更糟。我发现这对标题之类的东西比在段落中更有效。

由于无法在垂直列之间流动文本,因此孤行问题要小得多。我个人认为文本流将是添加到 CSS3 中的一件很棒的事情,因此如果真的发生了,我们那时可以担心它=)

进行一些测试

与其进行自己进行修改-然后保存-然后重新加载的测试,不如使用一些工具来帮助您玩转网页排版并以此方式做出选择。

typetester.png

csstype.png

fonttester.png

我们真的无能为力吗?

有一些选择。 sIFR 是一种网络技术,它利用 Flash 基本上用您选择的字体替换您选择的文本。结果看起来很棒,降级效果很好,并且保持搜索引擎友好。但也存在一些缺点。文本变得不可选择,这使其不适用于完整的段落,并且您无法应用和悬停样式,因此用户并不总是清楚您是否将文本设置为链接。

稍微费力一些的是 CSS 图像替换,它允许您用图形替换文本,同时保持搜索引擎友好。通过一些额外的工作,您可以应用悬停样式,但在其他方面与 sIFR 具有相同的弱点。

如果我们都能坚持使用 CSS3,那么真正的字体嵌入很有可能成为其中的一部分。当然,这还需要很多年,但进步就是进步。围绕它的重大争论主要集中在许可限制上。由于字体并不总是免费的(尤其是好的字体),因此将字体嵌入到网络上供任何人查看,可能会违反字体艺术家和发行商内置在字体中的限制。我个人认为这很荒谬,当然我们应该能够做到。因为我不拥有 Bauhaus Neue,这是否意味着我不应该在印刷杂志上看到它?当然不是。只要有技术来正确保护字体文件本身,这就不应该成为问题。

以下是这些示例

Helvetica
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Georgia
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Trebuchet MS
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Verdana
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Comic Sans MS
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Times
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Courier New
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Lucida Grande
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Impact
这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。这是一段旨在展示此特定字体基本外观的文本段落。

Arial 和 Arial Black 也几乎是安全的。Arial 与 Helvetica 非常非常相似,而 Arial Black 的重量非常重,以至于在段落形式中显示它比 Impact 还要糟糕。