携程前端训练营HTML

基于 Trip.com Group (携程集团) 前端训练营资料整理,适用对象:前端初学者、需要巩固 HTML5 基础的开发者
HTML(超文本标记语言)往往被认为是 Web 开发中最简单的部分,很多人认为“两三天就能学会”。但正如冰山理论所示,入门虽易,精通却难。HTML 涉及 Web 交互、SEO(搜索引擎优化)、安全、无障碍访问(A11y)等多个领域。
本文将梳理 HTML 的核心演进、关键元素、语义化结构以及表单交互,帮助你建立正确且专业的 HTML 认知体系。
Web 技术三大基石
在深入 HTML 之前,我们需要明确它在 Web 技术栈中的定位:
| 技术 | 角色 | 比喻 |
|---|---|---|
| HTML | 结构骨架 | 人的骨骼,支撑起整个身体 |
| CSS | 视觉表现 | 人的皮肤和衣服,决定外观是否美观 |
| JavaScript | 行为交互 | 人的肌肉和神经,赋予页面动作和生命力 |
虽然 HTML 运行门槛低(改个后缀名就能跑),但要写出健壮、可维护、对机器(搜索引擎/屏幕阅读器)友好的代码,需要深厚的功底。
HTML 的演进:从 4.01 到 HTML5
HTML5 不仅仅是一个版本的更新,它是 Web 标准的现代化革命。
HTML4 vs HTML5 核心对比
| 比较维度 | HTML4 | HTML5 |
|---|---|---|
| 文档声明 | 复杂的 SGML 声明 | 简洁的 <!DOCTYPE html> |
| 语义化 | 依赖 <div id="header"> 等 |
原生标签 <header>, <article>, <nav> |
| 多媒体 | 需 Flash 等插件 | 原生支持 <audio>, <video> |
| 图形 | 依赖插件 | 原生支持 <canvas>, SVG |
| 存储 | Cookie (容量小) | LocalStorage, SessionStorage (大容量) |
| 通信 | 传统的 XHR | WebSocket, Server-Sent Events |
| 移动端 | 支持有限 | 原生视口控制 <meta name="viewport"> |
HTML 基础与常见元素
元素分类
理解元素的默认表现是布局的基础:
- 块级元素 (Block-level)
1 | 特点:独占一行,宽度默认撑满父容器。 |
1 | <!-- 块级元素示例:每个元素都会另起一行 --> |
- 行内元素 (Inline-level)
1 | 特点:不换行,宽度随内容变化,不可设置宽高(除非转为 inline-block)。 |
1 | <!-- 行内元素示例:元素会在同一行显示 --> |
避坑指南:已废弃或不建议使用的元素
为了保持代码的语义化和样式分离,以下标签不要再使用了。
不推荐样式类(请用 CSS 代替)
<font>: 字体样式<center>: 居中<big>,<basefont>
1 | <!-- [不推荐] 旧式写法 --> |
不推荐交互/特效类(请用 CSS / JS 代替)
<marquee>: 滚动字幕(性能杀手)
1 | <!-- [不推荐] 旧式写法 --> |
需注意表现类<b>, <i>: 纯粹的加粗和斜体。推荐使用 <strong>(强调重要性)和 <em>(强调语气),因为后者具有语义。
1 | <!-- [普通] 仅视觉加粗,无语义 --> |
图片与路径
alt 属性:必填!当图片无法加载时显示文本,且对屏幕阅读器和 SEO 至关重要。
1 | <!-- 相对路径示例 --> |
HTML5 结构与语义化
为什么要语义化?
- 可读性:代码结构清晰,开发者一眼能看懂布局。
- SEO:搜索引擎能区分什么是“正文”,什么是“导航”,权重不同。
- 无障碍性 (A11y):屏幕阅读器通过 AOM (Accessibility Object Model) 解析语义,帮助视障用户快速跳转到主要内容。
语义化布局示例
错误示范:无语义代码 (Div Soup)
1 | <div class="header">标题</div> |
推荐做法:语义化代码
1 | <header> |
表单交互 (Forms)
表单是用户与后端交互的核心入口,使用正确的 type 可以唤起移动端特定的键盘,提升体验。
1 | <form action="/api/submit" method="POST" enctype="multipart/form-data"> |
- 使用
<label>:上面代码中for="username"与 input 的id="username"具有对应关系。这使得点击“用户名:”文字时,光标会自动聚焦到输入框内。 - 回车提交:在
<form>标签内,只要有一个type="submit"的按钮,用户在输入框内按回车键即可自动提交表单,这是原生 HTML 的优势。
其他重要特性
SVG (可缩放矢量图形)
特点:基于 XML,无限放大不失真,文件体积小。
代码实现:(直接在 HTML 中绘制一个红色的圆)
1 | <svg width="100" height="100"> |
LocalStorage (本地存储)
相比 Cookie,LocalStorage 是更现代的客户端存储方案(容量约 5MB,永久保存直到手动清除)。
1 | <button onclick="saveData()">保存数据</button> |
总结
HTML 并不只是简单的标签堆砌。写出结构良好、语义清晰、兼容性强的 HTML 代码,是成为一名优秀前端工程师的第一步。无论是为了 SEO 排名,还是为了让视障人士能平等地访问互联网,掌握 HTML5 的核心特性都是至关重要的。
小练习建议:尝试不使用任何 CSS,仅用 HTML5 语义化标签,还原一个类似“携程口碑榜”或“新闻详情页”的结构,确保在没有样式的情况下,页面依然逻辑清晰、可读。
HTML(超文本标记语言) | MDN
开发者手册 - 阮一峰的网络日志
HTML Tutorial
HTML | web.dev




