XHTML 是什么?
  • XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language)。
  • XHTML 的目标是取代 HTML。
  • XHTML 与 HTML 4.01 几乎是相同的。
  • XHTML 是更严格更纯净的 HTML 版本。
  • XHTML 是作为一种 XML 应用被重新定义的 HTML。
  • XHTML 是一个 W3C 标准。

XHTML 是 HTML 与 XML(扩展标记语言)的结合物。

XHTML 包含了所有与 XML 语法结合的 HTML 4.01 元素。

 

最主要的不同:

  • XHTML 元素必须被正确地嵌套。
  • XHTML 元素必须被关闭。
  • 标签名必须用小写字母。
  • XHTML 文档必须拥有根元素。

 

更多的 XHTML 语法规则:

  • 属性名称必须小写
  • 属性值必须加引号
  • 属性不能简写
  • 用 Id 属性代替 name 属性
  • XHTML DTD 定义了强制使用的 HTML 元素

 

强制使用的 XHTML 元素

所有 XHTML 文档必须进行文件类型声明(DOCTYPE declaration)。在 XHTML 文档中必须存在html、head、body元素,而 title 元素必须位于在 head 元素中。

下面是一个最小化的 XHTML 文件模板:

<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>
<body>
</body>
</html>

XHTML 1.0 的三种 XML 文档类型

XHTML 1.0 规定了三种 XML 文档类型,以对应上述三种 DTD。

XHTML 1.0 Strict

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

在此情况下使用:需要干净的标记,避免表现上的混乱。请与层叠样式表配合使用。

XHTML 1.0 Transitional

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在此情况下使用:当需要利用 HTML 在表现上的特性时,并且当需要为那些不支持层叠样式表的浏览器编写 XHTML 时。

XHTML 1.0 Frameset

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

在此的情况下使用:需要使用HTML框架将浏览器窗口分割为两部分或更多框架时。

核心属性 (Core Attributes)

以下标签不提供下面的属性:base, head, html, meta, param, script, style, 以及 title 元素。

属性描述
class class_rule 或 style_rule 元素的类(class)
id id_name 元素的某个特定id
style 样式定义 内联样式定义
title 提示文本 显示于提示工具中的文本
 

语言属性 (Language Attributes)

以下标签不提供下面的属性:base, br, frame, frameset, hr, iframe, param, 以及 script 元素。

属性描述
dir ltr | rtl 设置文本的方向
lang 语言代码 设置语言代码
 

键盘属性 (Keyboard Attributes)

属性描述
accesskey 字符 设置访问某元素的键盘快捷键
tabindex 设置某元素的Tab次序
 

窗口事件 (Window Events)

仅在 body 和 frameset 元素中有效。

属性描述
onload 脚本 当文档被载入时执行脚本
onunload 脚本 当文档被卸下时执行脚本
 

表单元素事件 (Form Element Events)

仅在表单元素中有效。

属性描述
onchange 脚本 当元素改变时执行脚本
onsubmit 脚本 当表单被提交时执行脚本
onreset 脚本 当表单被重置时执行脚本
onselect 脚本 当元素被选取时执行脚本
onblur 脚本 当元素失去焦点时执行脚本
onfocus 脚本 当元素获得焦点时执行脚本
 

键盘事件 (Keyboard Events)

在下列元素中无效:base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style, 以及 title 元素。

属性描述
onkeydown 脚本 当键盘被按下时执行脚本
onkeypress 脚本 当键盘被按下后又松开时执行脚本
onkeyup 脚本 当键盘被松开时执行脚本
 

鼠标事件 (Keyboard Events)

在下列元素中无效:base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style, title 元素。

属性描述
onclick 脚本 当鼠标被单击时执行脚本
ondblclick 脚本 当鼠标被双击时执行脚本
onmousedown 脚本 当鼠标按钮被松开时执行脚本
onmousemove 脚本 当鼠标指针移动时执行脚本
onmouseout 脚本 当鼠标指针移出某元素时执行脚本
onmouseover 脚本 当鼠标指针悬停于某元素之上时执行脚本
onmouseup 脚本 当鼠标按钮被松开时执行脚本