HTML 简介¶
HTML 是 HyperText Markup Language 的缩写,即超文本标记语言。它使用标记说明内容是标题、 段落、链接还是其他结构,而不是规定每个像素如何绘制。
学习目标¶
- 说明 HTML、CSS 和 JavaScript 的职责边界。
- 理解浏览器从获取文档到显示页面的基本过程。
- 认识语义化 HTML 对可访问性和维护性的价值。
核心概念¶
网页常由三层协作完成:
- HTML 描述内容与结构。
- CSS 控制颜色、间距、排版和响应式布局。
- JavaScript 处理状态变化、网络请求和用户交互。
例如,下面的 HTML 即使没有样式和脚本,仍然能表达一篇文章:
<article>
<h1>浏览器如何读取 HTML</h1>
<p>浏览器会解析标记并构建文档对象模型。</p>
<a href="basics.md">继续学习基础语法</a>
</article>
浏览器通常先通过 HTTP 或本地文件系统获得 HTML 字节,再依据字符编码解码文本, 解析标记并构建 DOM。CSS 会形成样式规则,脚本还可能在运行时修改 DOM。
为什么要使用语义¶
h1 表示主标题,p 表示段落,a 表示可导航的链接。正确元素不仅提供默认外观,
还向搜索引擎、读屏软件、浏览器功能和自动化工具传递稳定含义。
原生按钮天然支持键盘聚焦和激活。若用可点击的 div 模拟,就必须自行补齐角色、
焦点、键盘事件和禁用状态,通常没有必要。
HTML 不负责什么¶
HTML 不是设计稿工具,也没有一般编程语言中的循环、条件和函数。不要用标题元素只为放大文字, 也不要用表格完成整页布局。先选择符合内容含义的元素,再使用 CSS 调整外观。
安全边界¶
HTML 本身不会验证权限,也不会自动净化外部数据。把评论内容直接拼入 innerHTML 可能产生
跨站脚本风险。应用应优先使用安全的文本 API,并按 HTML、属性、URL 等具体上下文编码输出。
常见错误¶
- 认为文件扩展名是
.html就说明文档结构一定有效。 - 用 CSS 的
display变化误判元素的语义已经改变。 - 假设浏览器容错会在所有环境产生相同结果。
- 把客户端隐藏或校验当作服务端认证与授权。