概述:可扩展超文本标记语言(英语:eXtensible HyperText Markup Language,XHTML),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。从继承关系上讲,HTML 是一种基于标准通用标记语言(SGML)的应用,是一种非常灵活的置标语言,而 XHTML 则基于可扩展标记语言(XML),XML 是 SGML 的一个子集。XHTML 1.0 在 2000 年 1 月 26 日成为 W3C 的推荐标准。
我们都知道 XHTML 是 HTML 向 XML 发展的一种过渡技术,它是使用 XML 的规则对 HTML4.0 进行的扩展。
1、XHTML 语法规则
标准的 XHTML 遵循严格的 XML 语法规则。这些规则主要如下:
- 文档之首必须使用 DOCTYPE 声明。
- 文档的根元素必须是 html,并且必须为其指定命名空间,例如:
<html xmls="http://www.w3.org/1999/xhtml">
- 元素必须正确嵌套。即当有标记嵌套使用时,必须先结束里层的标记,再结束外层的标记,例如:
<b>标记嵌套<font color="red">错误!</b></font>
<b>标记嵌套<font color="red">正确!</font></b>
- 标记必须成对使用。每个元素都必须有结束标记,除非在 DTD 中将其声明为 EMPTY。对于单标记,必须在开始标记的右尖括号前加一反斜线,如
<br/>
。 - 标记名和属性名必须小写。
- 属性值必须用引号括起来,并且引号必须在英文状态下输入。
- 每个属性都必须有属性值。HTML 标记的属性可以没有值,而 XHTML 规定所有属性都必须有一个确定的值,没有值得以属性名作为属性值,例如:
<input type="checkbox" name="shirt" value="short" checked="checked">
- 使用 id 作为标记的标识属性。
<script
>和<style>
标记必须设置 type 属性。
2、HTML/XHTML 文档类型
规范的 HTML/XHTML 文档需要以<!DOCTYPE>
标记开始。DOCTYPE 是 document type 的简写,主要用来说明所使用的 XHTML 或者 HTML 是什么版本,以及按什么规范来解析网页。解析规范由 DOCTYPE 定义的 dtd(文档类型定义)所指定,dtd 规定了使用通用标记语言的网页语法。
2.1、XHTML 文档类型
XHTML1.0 提供了以下 3 种类型的 DOCTYPE。
2.1.1、XHTML 1.0 过渡类型(Transitional)
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
基本格式:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.1.2、XHTML 1.0 严格类型(Strict)
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
基本格式:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2.1.3、XHTML 1.0 框架类型(Frameset)
该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。
基本格式:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
2.1.4、XHTML 1.1
该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。
基本格式:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2.2、HTML 文档类型
2.2.1、HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
基本格式:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2.2.2、HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
基本格式:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
2.2.3、HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
基本格式:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
2.2.4、HTML 5
基本格式:
<!DOCTYPE html>
感谢大家的支持,我是白鹿,一个不懈奋斗的程序猿。希望本贴能帮助到大家,大家如果还有什么问题、建议或者补充可以留言在帖子下方,给予更多人帮助,同时我看到了也会及时回复,让我们一起努力!更多一手资讯请大家关注本人微信公众号:WDeerCode代码圈!