什么是XHTML
XHTML是以XML格式编写的HTML
- XHTML指的是可扩展超文本标记语言
- XHTML 与 HTML4.01 几乎是相同的
- XHTML是更严格更纯净的HTML版本
- XHTML是以XML应用的方式定义的HTML
- XHTML 是 2001年1月发布的 W3C 推荐标准
- XHTML 得到所有主流浏览器的支持
为何要用到XHTML
-
由于历史原因(主要是浏览器的兼容性),HTML的写法很随意,比如可以省略关闭标签、不正确嵌套等等,在PC端都可以被显示出来,但是在移动端就显得不是那么友好,因此我们需要更严格的HTML。
-
如下示例,在浏览器中运行的非常正常,但是它并未遵守HTML规则
<html> <head> <meta charset="utf-8"> <title>这是一个不规范的 HTML</title> <body> <h1>不规范的 HTML <p>这是一个段落 </body>
-
随着移动端的不断普及,各大网页需要在移动端(如手机,平板)上运行,而这些小型设备缺乏解释如上示例中
糟糕
的标记语言的资源和能力 -
所以通过XML和HTML各自的长处,开发了XHTML
XHTML与HTML的区别
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>
文档内容
</body>
</html>
文档结构
- XHTML DOCTYPE 是强制性的
<html>
中的 XML namespace 属性是强制性的<html>
、<head>
、<title>
以及<body>
也是强制性的
元素语法
- XHTML 元素必须正确嵌套
- XHTML 元素必须始终关闭
- XHTML 元素必须小写
- XHTML 文档必须有一个根元素
属性语法
- XHTML 属性必须使用小写
- XHTML 属性值必须用引号包围
- XHTML 属性最小化也是禁止的
示例
-
XHTML元素必须合理嵌套
<!-- 在HTML中,一些元素可以不互相嵌套 --> <b><i>这是文字内容</b></i> <!-- 在XHTML中,所有元素必须合理嵌套 --> <b><i>这是文字内容</i></b>
-
XHTML元素必须有关闭标签
<!-- 正确写法 --> <p>文本内容段落 <p>另外一个文本内容段落 <!-- 错误写法 --> <p>文本内容段落</p> <p>另外一个文本内容段落</p>
将HTML转换为XHTML
- 添加一个 XHTML <!DOCTYPE> 到你的网页中
- 添加 xmlns 属性添加到每个页面的html元素中。
- 改变所有的元素为小写
- 关闭所有的空元素
- 修改所有的属性名称为小写
- 所有属性值添加引号
- 使编码格式符合XHTML规则,即可转换成功
本文参考菜鸟教程:传送门