XHTML 简介
XHTML 是"可扩展超文本标记语言"(EXtensible HyperText Markup Language)的缩写,它用更严格的 XML 语法重新书写了 HTML 4。简单说:XHTML 就是"规则更严、写法更规范"的 HTML,由 W3C 于 2000 年推出。
什么是 XHTML、为什么要学它
早期 HTML 语法很松散:标签可以大写、可以不闭合、属性可以不写引号,浏览器只能"猜"着解析,导致同样的代码在不同浏览器里表现不一致。XHTML 要求文档必须符合 XML 规范,结构严谨、便于程序处理,也让开发者养成规范的书写习惯。
XHTML 与 HTML 的主要区别
| 对比项 | HTML | XHTML |
|---|---|---|
| 标签大小写 | 大小写均可 | 必须小写 |
| 标签闭合 | 部分可不闭合 | 所有标签必须闭合 |
| 属性引号 | 可不加引号 | 必须加引号 |
| 属性简写 | 允许 checked | 必须写 checked="checked" |
| 命名锚点 | 可用 name | 统一用 id |
XHTML 的书写规则
- 文档要以 <!DOCTYPE> 声明开头,并在 <html> 中声明命名空间。
- 标签必须正确嵌套:<b><i>文字</i></b> 合法,<b><i>文字</b></i> 非法。
- 标签名小写、成对闭合,空标签要自闭合,如 <br />、<img />。
- 属性值必须加引号,且属性不能省略取值。
- 图片必须提供 alt 属性。
一个符合规范的 XHTML 文档示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>规范示例</title>
</head>
<body>
<p>这是一段 <em>强调</em> 的正文。</p>
<img src="logo.png" alt="网站标志" />
</body>
</html>
在浏览器中显示为:与普通 HTML 页面没有视觉差别,规范性体现在代码书写层面。
三种 DTD 文档类型
- Strict(严格型):不允许使用 font 等纯外观标签,结构最干净。
- Transitional(过渡型):允许保留部分旧写法,兼容性好,最常用。
- Frameset(框架集型):在过渡型基础上允许使用框架 frame。
现状:为什么后来被 HTML5 取代
XHTML 虽然严谨,但书写繁琐(要写冗长的 DTD)。HTML5 兼顾严谨与宽容:语法要求清晰,却只需 <!DOCTYPE html> 一行声明,如今已是 Web 标准。XHTML 留下的最大财富,是让小写、闭合、加引号这些规范写进每个开发者的习惯里。
小结:XHTML 是"XML 化的 HTML",强调标签小写、全部闭合、属性加引号且取值完整;今天写 HTML5 只需简单声明,但 XHTML 培养出的规范书写习惯依然值得延续。