模板易于更改。内容通常不会。

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。从 200 美元的免费信用额度 开始!

HTML 有两种

  1. 构成模板的 HTML
  2. 作为内容的 HTML

我觉得关于 HTML 的一些讨论由于没有做出这种区分而变得模糊。

例如,我喜欢 Harry Roberts 关于标题元素类的方法。Harry 谈论的是“应用”,所以也许这是暗含的,但让我们明确一点:这些类用于 HTML **模板**中的标题,而不是 HTML 内容。

(这只是一个我想到的小例子,这个概念广泛适用。)

这里使用 WordPress 作为示例,但任何内容和模板系统都适用。

如果它是存储在数据库中的 HTML 片段,那么它就是内容

更改内容并非 *不可能*,但可能更困难且更危险。

网站可以持续很长时间。内容往往会越来越多。例如,在 CSS-Tricks 上,有 2260 篇帖子和 1369 个页面。多年来,我在这里和那里添加了一些类来做一些样式化的东西,随着时间的推移,我总是后悔。

为什么后悔在内容中使用类?

也许你会发现你给类起了错误的名字,并开始讨厌它。
也许你会将类更改为你更喜欢的名称。
也许你会停止使用该类。
也许你会忘记该类甚至存在,并且在重新设计中不会处理它。
也许你会再次使用旧名称,但它现在执行了新的操作并弄乱了旧内容。

这些只是一些可能性。

但当您决定要“修复”旧内容时,就会产生痛苦。你该怎么办?查找使用这些类的所有旧内容并将其清理干净?尝试运行数据库查询以删除类?繁琐或危险的工作。

Markdown 内容有所帮助

一旦掌握了 Markdown,编写起来就会很舒服。但它最好的功能是它不会(甚至不允许你)在它生成的任何 HTML 上添加类。除非你直接在 Markdown 中编写 HTML,这总是感觉有点脏(应该如此)。

样式内容

那么,如何在没有类的情况下设置内容样式?希望内容的样式相当一致。您可以将样式范围限定到内容。

.content h2 { }
.content figure { }
.content table { } 

假设您绝对需要内容中不同变化的事物

如果您必须违反内容中不使用类的“规则”,也许您仍然可以对处理方式应用一些智能。

  • 如果您使用的是 CMS,它可能有一些默认类,这些类可能会保留下来。例如,如果您选择,WordPress 会在图像上输出像 align-right 这样的类。
  • 您可以以一种不只是“内容块”一部分的方式插入内容吗?例如自定义字段?
  • 您可以通过抽象插入内容吗?在 WordPress 行话中,比如短代码?[table data="foo" style="bar"]
  • 如果您必须使用类,您可以以一种感觉永远有效的方式命名它吗?

模板易于更改

这正是它们的目的!与它们生成的页面数量相比,您可能只有少数几个模板。更改它们,所有使用它们的內容都会更新。围绕内容的 HTML 将具有您使用的所有有用的类。

所以

  • 模板的 HTML = 类,耶!
  • 内容的 HTML = 保持原始!