如何在 HTML 中让文字加粗
把文字放进 <strong> 或 <b> 里,两者都会让文字加粗:
它们看起来完全一样,区别在于它们对文字含义的表达。
strong 和 b 的区别
| 标签 | 含义 | 示例 |
|---|---|---|
<strong> | 重要、严肃或紧急的内容 | <strong>Do not</strong> share your password. |
<b> | 醒目,但不表示额外的重要性 | 摘要中的关键词、产品名称、文章开头的引导词 |
如果你说话时会提高音量,或者希望读者一定不要错过,就选 <strong>。如果加粗只是这类文字的视觉惯例,就选 <b>。如果两者都不合适,你只是想要一种样式,就用带类名的 <span> 加上 CSS。
斜体:em 和 i
斜体的这一对标签遵循同样的思路:
| 标签 | 含义 | 示例 |
|---|---|---|
<em> | 重读强调:位置一变,句子的意思就变了 | I <em>never</em> said that. |
<i> | 另一种语气:外来词、术语、船名、内心想法 | <i lang="la">et cetera</i> |
上面前两句话用词完全相同,却因为 <em> 的位置不同而意思不同。当 <i> 标记的是另一种语言的短语时,加上 lang 属性,让屏幕阅读器能正确发音。
还有几个标签默认也显示为斜体:<cite>(作品标题)、<dfn>(正在定义的术语)、<address> 和 <var>。合适的时候就用它们,让默认样式来处理其余部分。
同时加粗和倾斜
把一个标签嵌套在另一个里面,并按相反的顺序关闭:
<strong><em>text</strong></em>(关闭顺序错误)仍然能显示,但浏览器必须修复元素树,可能会把你的元素拆开;这种修复是什么样子,请参阅标签页面。
用 CSS 设置加粗和斜体
当样式纯粹是视觉效果时(卡片标题、价格、标签),直接在元素上使用 CSS,而不是额外加一个标签。font-weight 控制加粗,font-style 控制斜体:
最后一行说明了语义和外观是分开的:<strong> 保留了它的语义,而 CSS 给了它不同的样式。完整的字重范围(100 至 900)在 CSS font-weight 页面中有介绍。
无障碍
在默认设置下,大多数屏幕阅读器不会因为 <strong> 或 <em> 而改变语调,所以加粗和斜体主要是视觉提示。用户绝不能错过的信息(错误、必填字段、截止日期)应该通过文字本身表达清楚,而不能只靠样式。也要避免大段的斜体或粗体:它们更难阅读,对有阅读障碍的读者尤其如此。
常见错误
- 把粗体当作标题。 一个小节上方的一行
<b>文字,对屏幕阅读器来说并不是标题。请使用<h2>或<h3>,再设置样式。 - 用
<strong>来设置样式。 如果文字没有什么重要之处,就用<b>或 CSS。 - 把整个段落加粗。 强调只有在少用时才有效。加粗一个短语,而不是整个段落。
- 关闭标签的顺序错误。 要写
<b><i>x</i></b>,绝不能写<b><i>x</b></i>。 - 过时的标签。 旧教程里的
<font>标签已经废弃。请使用上面的标签或font-weight。
常见问题
如何在 HTML 中让文字加粗?
当这些文字很重要时,用 <strong> 包起来(<strong>Warning:</strong>);如果只是想让它们醒目,而不表示额外的重要性,比如产品名称,就用 <b>。两者默认都显示为粗体。
<strong> 和 <b> 有什么区别?
<strong> 表示文字重要、严肃或紧急。<b> 用来吸引注意,但不表示重要性,比如摘要中的关键词。它们看起来一样,区别在于语义,而语义对屏幕阅读器、搜索引擎和其他开发者都很重要。
如何在 HTML 中让文字变成斜体?
<em> 用于会改变句子含义的强调(例如英语 "I did say that" 中重读 "did"),<i> 用于另一种语气的文字:外来词、术语、船名、内心想法。两者都显示为斜体。
如何让文字同时加粗和倾斜?
把标签嵌套起来:<strong><em>text</em></strong>。按照打开时相反的顺序关闭它们。用 CSS 的话,就在同一个元素上同时设置 font-weight: bold 和 font-style: italic。
可以改用 CSS 让文字加粗吗?
可以:在任意元素上设置 font-weight: bold(或 700)。如果加粗纯粹是视觉效果,比如按钮文字或表头样式,就用 CSS;如果文字本身重要或需要强调,就用 HTML 标签。