1. 引言
在 HTML 的学习过程中,除了常见的标题、段落、图片、链接等标签外,还有两类看似不起眼、却在实际开发中高频使用的基础知识:辅助标签 label 和字符实体(Character Entities)。
label 标签用于提升表单的可用性与可访问性,让用户点击文字即可聚焦到对应的输入框;字符实体则用于在 HTML 中安全地展示那些会被浏览器当作代码解析的特殊字符(如 <、>、& 等)。本文将从概念、语法到实战示例,带你一次性掌握这两块内容。
2. 辅助标签 label
2.1 什么是 label
label 是 HTML 表单中用于**定义输入元素的标注(说明文字)**的标签。它本身不会在页面上产生特殊的视觉效果,但它的存在能让表单更友好、更易用。
2.2 label 的两种绑定方式
label 需要与某个表单控件(如 input、textarea、select)关联,关联方式有两种:
方式一:使用 for 属性(显式关联)
通过 for 属性指向控件的 id,实现关联:
html
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
方式二:嵌套写法(隐式关联)
将控件直接写在 label 内部,无需 for 和 id:
html
<label>
用户名:
<input type="text" name="username">
</label>
推荐优先使用
for+id的显式关联方式,结构更清晰,也便于 CSS 和 JavaScript 定位。
2.3 label 的作用
- 提升可用性:点击 label 文字即可聚焦到对应输入框,增大了可点击区域。
- 提升可访问性:屏幕阅读器可以正确读出「这个输入框是干什么的」,对无障碍访问(a11y)非常重要。
- 配合复选框与单选框:点击文字即可选中/取消选项,体验更佳。
html
<!-- 点击文字即可勾选 -->
<label>
<input type="checkbox" name="agree"> 我已阅读并同意用户协议
</label>
3. 字符实体(Character Entities)
3.1 什么是字符实体
在 HTML 中,某些字符具有特殊含义(如 < 会被解析为标签的开始),无法直接作为文本显示。此时需要使用字符实体来安全地表示它们。
字符实体通常以 & 开头、以 ; 结尾,有两种写法:
- 实体名称 :如
<表示< - 实体编号 :如
<也表示<(十进制),<表示<(十六进制)
3.2 常用字符实体对照表
| 显示结果 | 实体名称 | 实体编号(十进制) | 说明 |
|---|---|---|---|
< |
< |
< |
小于号 |
> |
> |
> |
大于号 |
& |
& |
& |
与符号 |
" |
" |
" |
双引号 |
' |
' |
' |
单引号(部分浏览器支持) |
(空格) |
|
  |
不换行空格 |
© |
© |
© |
版权符号 |
® |
® |
® |
注册商标 |
™ |
™ |
™ |
商标符号 |
¥ |
¥ |
¥ |
人民币/日元符号 |
€ |
€ |
€ |
欧元符号 |
3.3 为什么需要字符实体
在 HTML 中直接写 < 或 & 会导致解析错误或显示异常。例如:
html
<!-- 错误写法:浏览器会把 <b> 当作加粗标签 -->
<p>5 < 10 且 3 > 1</p>
<!-- 正确写法:使用字符实体 -->
<p>5 < 10 且 3 > 1</p>
再比如,想在页面中展示一段 HTML 代码本身,就必须把 < 和 > 转义:
html
<p>展示代码:<b>加粗文字</b></p>
浏览器渲染后显示为:
html
展示代码:<b>加粗文字</b>
3.4 常用场景
- 在文章中展示代码片段、讲解 HTML 语法本身。
- 在页面中输出数学比较符号(
<、>、≤、≥等)。 - 需要连续多个空格时使用
(普通空格会被浏览器合并为一个)。 - 展示特殊符号(版权、商标、货币符号等)。
4. 综合实战示例
下面是一个结合 label 与字符实体的完整表单示例:
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>label 与字符实体综合示例</title>
</head>
<body>
<h2>用户注册</h2>
<!-- label 显式关联 -->
<form action="/register" method="post">
<p>
<label for="username">用户名:</label>
<input type="text" id="username" name="username" placeholder="请输入用户名">
</p>
<p>
<label for="password">密码:</label>
<input type="password" id="password" name="password">
</p>
<!-- label 隐式关联 + 复选框 -->
<p>
<label>
<input type="checkbox" name="agree"> 我已阅读并同意《用户协议》
</label>
</p>
<p>
<button type="submit">注册</button>
</p>
</form>
<!-- 字符实体展示代码 -->
<h3>页面中展示 HTML 代码</h3>
<p>示例代码:<p>这是一段文字</p></p>
<!-- 数学符号 -->
<p>比较结果:5 < 10,10 > 5,5 && 10 均为真。</p>
</body>
</html>
5. 小结
label标签用于关联表单控件,提升可用性与可访问性,推荐使用for+id显式关联。- 字符实体用于安全展示特殊字符,常用
<、>、&、 等。 - 在讲解 HTML 代码本身、展示数学符号或特殊符号时,字符实体是必不可少的工具。
掌握这两块内容,你的 HTML 表单和页面内容展示会更加规范、专业。