HTML 字符实体是一种用特殊代码格式来表示 HTML 中具有特殊含义、或无法直接输入 / 显示的字符的方式。
有两个核心场景必须用到它:
HTML 中有一些自带特殊含义的字符(比如<、>、"、&),这些字符是 HTML 标签的组成部分,如果直接在页面内容中书写,浏览器会把它当作 HTML 语法解析,而不是普通文本显示。
比如你想在页面上直接显示文本 <h1>,如果直接写 <p><h1></p>,浏览器会把<h1>解析成标题标签,而不是显示<h1>这串字符,这时候就需要用字符实体替代。
有些字符无法通过普通键盘直接输入(比如版权符号 ©、注册商标符号 ®、空格符号等),或者部分特殊字符在不同浏览器 / 编码下显示异常,此时可以用字符实体来准确表示。
HTML 字符实体有两种常见格式(推荐使用第一种,兼容性更好):
格式为 &实体名称;(以 & 开头,以 ; 结尾,中间是预定义的实体名称)
例如:
< 表示 <
> 表示 >
© 表示 ©
格式为 &#十进制数字; 或 &#x十六进制数字;(以 &# 开头,十进制数字直接跟,十六进制加x,最后以 ; 结尾)
例如:
<(十进制) 和 <(十六进制)都表示 <
© 表示 ©
注意:所有字符实体的结尾分号 ; 不能省略,否则浏览器无法识别,会直接显示原字符串。
以下是开发中最常用的几个字符实体,几乎每天都会用到:
| 显示结果 | 描述 | 实体名称 | 实体编号 |
|---|---|---|---|
| 空格 | |   | |
| < | 小于号 | < | < |
| > | 大于号 | > | > |
| & | 和号 | & | & |
| " | 引号 | " | " |
| ' | 撇号 | ' (IE不支持) | ' |
| ¢ | 分 | ¢ | ¢ |
| £ | 镑 | £ | £ |
| ¥ | 人民币/日元 | ¥ | ¥ |
| € | 欧元 | € | € |
| § | 小节 | § | § |
| © | 版权 | © | © |
| ® | 注册商标 | ® | ® |
| ™ | 商标 | ™ | ™ |
| × | 乘号 | × | × |
| ÷ | 除号 | ÷ | ÷ |
注意:虽然 html 不区分大小写,但实体字符对大小写敏感。