跳转至

课时17:HTML 字符实体

学习目标:理解字符实体的作用机制,掌握常用字符实体的语法与应用场景,能够正确处理 HTML 中的特殊字符显示问题。


一、字符实体的概念

1.1 为什么需要字符实体

HTML 文档中存在两类特殊字符,无法直接在文本中书写:

  1. 键盘无法输入的符号:如版权符号 ©、注册商标 ®、数学符号等
  2. 会被浏览器解析为标签的符号:如尖括号 <>,若直接写入文本,浏览器会将其误认为 HTML 标签进行解析

1.2 空白折叠的回顾

在前序课程中学习的 &nbsp;(不间断空格)是字符实体的一种,用于解决 HTML 中多个空格被折叠为单个的问题:

<p>你好&nbsp;&nbsp;&nbsp;张三</p>    <!-- 显示三个空格 -->

除了 &nbsp; 之外,HTML 还提供了大量其他字符实体,覆盖各类特殊符号需求。


二、字符实体的语法规范

2.1 标准格式

所有字符实体遵循统一的书写规范:

&实体名称;
组成部分 符号 作用
开头 & and 符,实体的起始标记
中间 实体名称 具体符号的标识名称(如 ltgtcopy
结尾 ; 分号,实体的结束标记

2.2 语法规范的重要性

  • &; 是字符实体的核心组成部分,不可省略
  • 实体名称通常为小写(如 &lt; 而非 &LT;
  • 缺少分号可能导致浏览器解析异常,尤其在实体连续使用时

三、核心应用场景

3.1 场景一:显示键盘无法输入的符号

符号 实体名称 说明
© &copy; 版权符号(Copyright)
® &reg; 注册商标(Registered Trademark)
&trade; 商标符号(Trademark)
¥ &yen; 人民币符号
&euro; 欧元符号
° &deg; 度符号
× &times; 乘号
÷ &divide; 除号
<p>版权所有 &copy; 2023 某某公司</p>
<p>价格:&yen; 199.00</p>

3.2 场景二:防止标签被浏览器解析

问题演示:直接在文本中写入标签代码,浏览器会将其解析为真实标签:

<!-- 源码:期望显示 "<h1> 是标题标签" 这段文本 -->
<p><h1> 是标题标签</p>

<!-- 实际效果:浏览器将 <h1> 解析为标题标签,导致页面结构异常 -->

解决方案:使用字符实体替换尖括号:

<!-- 正确:使用 &lt; 和 &gt; 替代 < 和 > -->
<p>&lt;h1&gt; 是标题标签</p>

<!-- 渲染效果:正确显示 "<h1> 是标题标签" 文本 -->
符号 实体名称 记忆方式
< &lt; less than
> &gt; greater than
" &quot; quotation
& &amp; ampersand
' &apos; apostrophe

四、常用字符实体速查表

类别 实体名称 显示效果 使用场景
空格 &nbsp; 不间断空格 强制保留空格
尖括号 &lt; < 显示 HTML 标签代码
&gt; > 显示 HTML 标签代码
引号 &quot; " 属性值中的引号
&apos; ' 英文撇号
版权 &copy; © 版权声明
商标 &reg; ® 注册商标
&trade; 商标标识
货币 &yen; ¥ 人民币价格
&euro; 欧元价格
&dollar; $ 美元价格
数学 &times; × 乘法运算
&divide; ÷ 除法运算
&plusmn; ± 正负号
&deg; ° 温度/角度

五、实体编号(补充了解)

5.1 两种等效写法

字符实体除了使用名称(如 &lt;),还可以使用实体编号(如 &#60;):

<!-- 名称写法(推荐) -->
<p>&lt;h1&gt;</p>

<!-- 编号写法(等效) -->
<p>&#60;h1&#62;</p>

5.2 对比

写法 格式 可读性 推荐度
实体名称 &lt; 高(有语义) 推荐
实体编号 &#60; 低(纯数字) 了解即可

实体编号基于 Unicode 编码值,理论上可表示任何字符,但名称写法更直观易记,是日常开发的首选。