您现在的位置是:网站首页 > 文本强调标签(strong, em)文章详情
文本强调标签(strong, em)
陈川
【
HTML
】
53496人已围观
4598字
文本强调标签(strong, em)
HTML提供了多种方式来强调文本内容,其中<strong>
和<em>
是最常用的两个语义化标签。它们不仅能够改变文本的视觉呈现,更重要的是能够为内容赋予特定的语义含义。
strong标签的用法
<strong>
标签表示内容的重要性或紧急性。浏览器默认会将其内容显示为粗体,但它的核心价值在于语义而非样式。
<p>警告:<strong>系统将在5分钟后自动关机</strong>,请立即保存您的工作。</p>
在这个例子中,"系统将在5分钟后自动关机"被标记为重要内容。屏幕阅读器会以更强的语气朗读这部分文本,帮助视障用户理解内容的重要性。
<strong>
可以嵌套使用,表示不同层级的重要性:
<p>
本次更新的<strong>关键变化包括:<strong>数据库迁移工具</strong>和<strong>API接口</strong></strong>
</p>
em标签的用法
<em>
标签用于表示需要强调的文本,通常浏览器会将其显示为斜体。与<strong>
不同,它强调的是语气上的变化而非内容的重要性。
<p>我<em>真的</em>很期待这次旅行。</p>
在这个句子中,"真的"被强调,表达说话者的强烈情感。屏幕阅读器会改变语调来朗读这部分内容。
<em>
也可以用于技术文档中表示术语或特殊概念:
<p>在CSS中,<em>特异性</em>决定了当多个规则冲突时哪个规则会被应用。</p>
strong与em的区别
虽然视觉上<strong>
和<em>
通常分别表现为粗体和斜体,但它们的本质区别在于语义:
<strong>
表示内容本身的重要性<em>
表示语气上的强调
它们可以组合使用:
<p>你<em><strong>必须</strong></em>在截止日期前提交申请。</p>
实际应用场景
在表单验证错误信息中使用<strong>
:
<div class="error">
<strong>错误:</strong>密码必须包含至少8个字符。
</div>
在引用中使用<em>
表示强调:
<blockquote>
"知识就是力量"这句话<em>不是</em>培根说的。
</blockquote>
可访问性考虑
正确使用这些语义化标签对辅助技术用户至关重要:
- 屏幕阅读器会根据标签类型调整朗读方式
- 搜索引擎会识别这些语义标记
- 样式表失效时,内容结构依然清晰
避免仅为了视觉效果而滥用这些标签:
<!-- 不推荐 -->
<p>这是<strong>错误</strong>的用法。</p>
<!-- 推荐 -->
<p>这是<span class="bold">错误</span>的用法。</p>
与CSS样式的结合
虽然这些标签有默认样式,但完全可以通过CSS自定义:
strong {
font-weight: bold;
color: #d32f2f;
}
em {
font-style: italic;
text-decoration: underline;
}
甚至可以完全改变它们的表现方式:
strong {
background-color: yellow;
padding: 2px;
font-weight: normal;
}
国际化注意事项
在某些语言中,强调的方式可能不同:
- 日语有时使用波浪线表示强调
- 阿拉伯语可能使用不同的字体变化
<p lang="ja">これは<em>とても</em>重要です。</p>
<p lang="ar">هذا <em>مهم</em> جداً</p>
嵌套规则
这些标签可以合理嵌套,但要注意语义层次:
<p>
<strong>重要通知:</strong>明天<em>所有</em>部门必须参加<strong><em>年度评审会议</em></strong>
</p>
替代方案比较
有时开发者会使用<b>
和<i>
标签,但它们没有语义价值:
标签 | 语义 | 默认样式 |
---|---|---|
<strong> |
重要内容 | 粗体 |
<em> |
强调语气 | 斜体 |
<b> |
无语义 | 粗体 |
<i> |
无语义 | 斜体 |
在复杂结构中的使用
在列表和表格中也可以使用这些标签:
<ul>
<li><strong>第一步:</strong>创建账户</li>
<li><em>可选步骤:</em>完善个人信息</li>
</ul>
<table>
<tr>
<th>项目</th>
<th>状态</th>
</tr>
<tr>
<td>用户注册</td>
<td><strong>进行中</strong></td>
</tr>
</table>
动态内容中的应用
在JavaScript生成的动态内容中同样适用:
function showWarning(message) {
const warningElement = document.createElement('div');
warningElement.innerHTML = `<strong>警告:</strong>${message}`;
document.body.appendChild(warningElement);
}
历史演变
这些标签的语义在HTML规范中有所演变:
- HTML4中
<strong>
表示"强强调" - HTML5更明确区分了重要性(
<strong>
)和强调(<em>
) - XHTML时期对这些标签的使用有更严格的规定
常见错误与纠正
开发者常犯的一些错误:
- 仅为了视觉效果使用语义标签:
<!-- 错误 -->
<p>点击<strong>这里</strong>继续</p>
<!-- 正确 -->
<p>点击<span class="highlight">这里</span>继续</p>
- 过度使用强调标签:
<!-- 不推荐 -->
<p><strong>每个</strong>用户<em>必须</em><strong>每天</strong>登录<em>至少</em>一次</p>
<!-- 推荐 -->
<p>每个用户必须每天登录至少一次</p>
与其他HTML元素的交互
这些标签可以包含或嵌套在其他元素中:
<a href="#"><strong>重要链接</strong></a>
<h2>关于<em>我们</em></h2>
但不能包含块级元素:
<!-- 无效 -->
<strong>
<div>内容</div>
</strong>
在邮件HTML中的应用
即使在HTML邮件中,这些标签也能保持较好的兼容性:
<table>
<tr>
<td>
<strong>限时优惠:</strong>今日下单可享<em>额外</em>折扣!
</td>
</tr>
</table>
性能考量
过度使用这些标签不会显著影响性能,但会增加HTML文件大小:
<!-- 冗余 -->
<p><strong>1</strong><strong>2</strong><strong>3</strong></p>
<!-- 优化 -->
<p><strong>123</strong></p>
测试与验证
确保正确使用的方法:
- 使用W3C验证器检查HTML结构
- 禁用CSS查看内容是否仍然有层次
- 使用屏幕阅读器测试语义是否正确传达
框架中的使用
在现代前端框架中,这些标签的使用方式相同:
React示例:
function AlertMessage() {
return (
<p>
<strong>注意:</strong>这个操作<em>不可逆</em>
</p>
);
}
Vue示例:
<template>
<p><em>{{ variableText }}</em> 是必须填写的字段</p>
</template>
移动端注意事项
在移动设备上,这些标签的表现可能有所不同:
- 某些浏览器会调整强调文本的大小
- 极少数情况下样式可能不被支持
- 触摸设备上长按这些标签可能有特殊行为
打印样式优化
为打印媒体专门设计强调样式:
@media print {
strong {
font-weight: bold;
color: black !important;
}
em {
text-decoration: underline;
}
}
语义化与SEO
搜索引擎会识别这些语义标记:
- 适当使用可以提升内容关键点的识别
- 过度使用可能被判定为关键词堆砌
- 与
<mark>
等标签配合使用效果更好
国际化与本地化
在不同语言版本网站中,强调方式可能需要调整:
<div lang="en">
<p>This is <em>very</em> important</p>
</div>
<div lang="zh">
<p>这是<strong>非常</strong>重要的</p>
</div>
与ARIA的配合
可以结合ARIA属性增强可访问性:
<p aria-live="polite">
<strong>新消息:</strong>您的订单<em>已经发货</em>
</p>
历史案例研究
早期网页中这些标签的滥用现象:
<!-- 2000年代典型的滥用示例 -->
<strong><em><u>点击这里!!!</u></em></strong>
现代网页更注重语义化的合理使用。
上一篇: 拒绝模块化(所有代码写在一个 'main.js' 里)
下一篇: 上下标标签(sub, sup)