# XHTML 简介
**XHTML 是以 XML 格式编写的 HTML。**
## 什么是 XHTML?
* XHTML 指的是可扩展超文本标记语言
* XHTML 与 HTML 4.01 几乎是相同的
* XHTML 是更严格更纯净的 HTML 版本
* XHTML 是以 XML 应用的方式定义的 HTML
* XHTML 是 [2001 年 1 月](/w3c/w3c_xhtml.asp "W3C XHTML 活动")发布的 W3C 推荐标准
* XHTML 得到所有主流浏览器的支持
## 为什么使用 XHTML?
因特网上的很多页面包含了“糟糕”的 HTML。
如果在浏览器中查看,下面的 HTML 代码运行起来非常正常(即使它并未遵守 HTML 规则):
```
<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
<p>This is a paragraph
</body>
```
XML 是一种必须正确标记且格式良好的标记语言。
如果希望学习 XML,请阅读我们的 [XML 教程](/xml/index.asp)。
今日的科技界存在一些不同的浏览器技术。其中一些在计算机上运行,而另一些可能在移动电话或其他小型设备上运行。小型设备往往缺乏解释“糟糕”的标记语言的资源和能力。
所以 - 通过结合 XML 和 HTML 的长处,开发出了 XHTML。XHTML 是作为 XML 被重新设计的 HTML。
与 HTML 相比最重要的区别:
### 文档结构
* XHTML DOCTYPE 是_强制性的_
* <html> 中的 XML namespace 属性是_强制性的_
* <html>、<head>、<title> 以及 <body> 也是_强制性的_
### 元素语法
* XHTML 元素必须_正确嵌套_
* XHTML 元素必须始终_关闭_
* XHTML 元素必须_小写_
* XHTML 文档必须有_一个根元素_
### 属性语法
* XHTML 属性必须使用_小写_
* XHTML 属性值必须用_引号包围_
* XHTML 属性最小化也是_禁止的_
## <!DOCTYPE ....> 是强制性的
XHTML 文档必须进行 XHTML 文档类型声明(XHTML DOCTYPE declaration)。
您可以在 W3School 的标签参考手册中找到完整的 [XHTML 文档类型](/tags/tag_doctype.asp "HTML <!DOCTYPE> 标签")。
<html>、<head>、<title> 以及 <body> 元素也必须存在,并且必须使用 <html> 中的 xmlns 属性为文档规定 xml 命名空间。
下面的例子展示了带有最少的必需标签的 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>
<title>Title of document</title>
</head>
<body>
......
</body>
</html>
```
## 如何从 HTML 转换到 XHTML
1. 向每张页面的第一行添加 XHTML <!DOCTYPE>
2. 向每张页面的 html 元素添加 xmlns 属性
3. 把所有元素名改为小写
4. 关闭所有空元素
5. 把所有属性名改为小写
6. 为所有属性值加引号
## 用 W3C 验证器检验 XHTML
在下面的文本框中输入您的网址:
<form method="get" action="http://validator.w3.org/check" target="_blank">
<input name="uri" size="60" style="margin:10px 0 0 0;" value="http://www.w3school.com.cn/html/index.asp">
<input type="submit" value="验证文件">
</form>
## XHTML 测验
该测验包含 20 道问题,且没有时间限制。
本测验是非正式的,它仅仅是了解您 XHTML 知识掌握程度的一个不错的途径。
每项正确答案可获得 1 分。在测试结束后,会显示您的总分。最高分为 20 分。
[开始 XHTML 测验](/xhtml/xhtml_quiz.asp "XHTML 测验")
- HTML 基础
- HTML 简介
- 基本的 HTML 标签 - 四个实例
- HTML 元素
- HTML 属性
- HTML 标题
- HTML 段落
- HTML 文本格式化
- HTML 编辑器
- HTML CSS
- HTML 链接
- HTML 图像
- HTML 表格
- HTML 列表
- HTML <div> 和 <span>
- HTML 布局
- HTML 表单和输入
- HTML 框架
- HTML Iframe
- HTML 背景
- HTML 颜色
- HTML 颜色名
- HTML 4.01 快速参考
- HTML 高级
- HTML <!DOCTYPE>
- HTML 头部元素
- HTML 脚本
- HTML 字符实体
- HTML 统一资源定位器
- HTML URL 字符编码
- HTML Web Server
- HTML 媒体
- HTML 多媒体
- HTML Object 元素
- HTML 音频
- HTML 视频
- HTML XHTML
- XHTML 简介
- XHTML - 元素
- XHTML - 属性
- HTML 5 教程
- HTML 5 简介
- HTML 5 视频
- HTML 5 Video + DOM
- HTML 5 音频
- HTML 5 拖放
- HTML 5 Canvas
- HTML5 内联 SVG
- HTML 5 Canvas vs. SVG
- HTML5 地理定位
- HTML 5 Web 存储
- HTML 5 应用程序缓存
- HTML 5 Web Workers
- HTML 5 服务器发送事件
- HTML5 Input 类型
- HTML5 表单元素
- HTML5 表单属性
- CSS 基础
- CSS 简介
- CSS 基础语法
- CSS 高级语法
- CSS 派生选择器
- CSS id 选择器
- CSS 类选择器
- CSS 属性选择器
- 如何创建 CSS
- CSS 样式
- CSS 背景
- CSS 文本
- CSS 字体
- CSS 链接
- CSS 列表
- CSS 表格
- CSS 轮廓
- CSS 框模型
- CSS 框模型概述
- CSS 内边距
- CSS 边框
- CSS 外边距
- CSS 外边距合并
- CSS 定位
- CSS 定位 (Positioning)
- CSS 相对定位
- CSS 绝对定位
- CSS 浮动
- CSS 选择器
- CSS 元素选择器
- CSS 分组
- CSS 类选择器详解
- CSS ID 选择器详解
- CSS 属性选择器详解
- CSS 后代选择器
- CSS 属性选择器详解
- CSS 后代选择器
- CSS 子元素选择器
- CSS 相邻兄弟选择器
- CSS 伪类 (Pseudo-classes)
- CSS 伪元素 (Pseudo-elements)
- CSS 高级
- CSS 水平对齐
- CSS 尺寸 (Dimension)
- CSS 分类 (Classification)
- CSS 导航条
- CSS 图片库
- CSS 图像透明度
- CSS2 媒介类型
- CSS 注意事项
- CSS3 教程
- CSS3 简介
- CSS3 边框
- CSS3 背景
- CSS3 文本效果
- CSS3 字体
- CSS3 2D 转换
- CSS3 3D 转换
- CSS3 过渡
- CSS3 动画
- CSS3 多列
- CSS3 用户界面
- Firebug 教程
- Firebug 教程
- 使用Firebug查看和编辑HTML和CSS
- 使用 Firebug 调试 JavaScript
- Firebug页面概况查看
- Firebug动态执行JavaScript
- Firebug记录Javascript日志
- Firebug监控网络情况
- 免责声明