XHTML与HTML有什么区别? 相互如何转换

时间:2021-11-24
类别:教程 - 网页设计

什么是 XHTML?

XHTML 是以 XML 格式编写的 HTML。

XHTML 指的是可扩展超文本标记语言

XHTML 与 HTML 4.01 几乎是相同的

XHTML 是更严格更纯净的 HTML 版本

XHTML 是以 XML 应用的方式定义的 HTML

XHTML 是 2001 年 1 月发布的 W3C 推荐标准

XHTML 是大小写敏感的,标准的 XHTML 标签应该使用小写。

XHTML 得到所有主流浏览器的支持

为什么使用 XHTML?因特网上的很多页面包含了"糟糕"的 HTML。如果在浏览器中查看,下面的 HTML 代码运行起来非常正常(即使它并未遵守 HTML 规则):

  1. <html> 
  2.  
  3.  <head> 
  4.  
  5.  <title>This is bad HTML</title> 
  6.  
  7.  <body> 
  8.  
  9.  <h1>Bad HTML 
  10.  
  11.  <p>This is a paragraph 
  12.  
  13.  </body> 

XML 是一种必须正确标记且格式良好的标记语言;今日的科技界存在一些不同的浏览器技术。其中一些在计算机上运行,而另一些可能在移动电话或其他小型设备上运行。小型设备往往缺乏解释"糟糕"的标记语言的资源和能力。所以 - 通过结合 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)。<html>, <head>, <title>, 和 <body> 元素也必须存在,并且必须使用 <html> 中的 xmlns 属性为文档规定 xml 命名空间。下面的例子展示了带有最少的必需标签的 XHTML 文档:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2.  
  3.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  4.  
  5.  <html xmlns="http://www.w3.org/1999/xhtml"
  6.  
  7.  <head> 
  8.  
  9.  <title>Title of document</title> 
  10.  
  11.  </head> 
  12.  
  13.  <body> 
  14.  
  15. ......  
  16.  
  17.  </body> 
  18.  
  19.  </html> 

XHTML 元素必须合理嵌套

在 HTML 中,一些元素可以不互相嵌套,像这样:

1 <b><i>This text is bold and italic</b></i>

在 XHTML 中,所有的元素都必须互相合理地嵌套,像这样:

1 <b><i>This text is bold and italic</i></b>

XHTML 元素必须有关闭标签

  1. 1 错误示例: 
  2.  
  3. 2 <p>This is a paragraph 
  4.  
  5. 3 <p>This is another paragraph 
  6.  
  7. 1 正确示例: 
  8.  
  9. 2 <p>This is a paragraph</p> 
  10.  
  11. 3 <p>This is another paragraph</p> 

空元素必须包含关闭标签

  1. 错误示例: 
  2.  
  3. break: <br> 
  4.  
  5.  A horizontal rule: <hr> 
  6.  
  7. An image: <img src="happy.gif" alt="Happy face"
  8.  
  9. 正确示例: 
  10.  
  11. break: <br /> 
  12.  
  13.  A horizontal rule: <hr /> 
  14.  
  15.  An image: <img src="happy.gif" alt="Happy face" /> 

XHTML 元素必须是小写

  1. 错误示例: 
  2.  
  3. <BODY> 
  4.  
  5.  <P>This is a paragraph</P> 
  6.  
  7.  </BODY> 
  8.  
  9. 正确示例: 
  10.  
  11. <body> 
  12.  
  13.  <p>This is a paragraph</p> 
  14.  
  15.  </body> 

属性名称必须是小写

  1. 错误示例: 
  2.  
  3. <table WIDTH="100%"
  4.  
  5. 正确示例: 
  6.  
  7. <table width="100%"

属性值必须有引号

  1. 错误示例: 
  2.  
  3. <table width=100%> 
  4.  
  5. 正确示例: 
  6.  
  7. <table width="100%"

不允许属性简写

  1. 错误示例: 
  2.  
  3. <input checked> 
  4.  
  5.  <input readonly> 
  6.  
  7.  <input disabled> 
  8.  
  9.  <option selected> 
  10.  
  11. 正确示例: 
  12.  
  13. <input checked="checked"
  14.  
  15.  <input readonly="readonly"
  16.  
  17.  <input disabled="disabled"
  18.  
  19.  <option selected="selected"

如何将 HTML 转换为 XHTML?

1、添加一个 XHTML <!DOCTYPE> 到你的网页中

2、添加 xmlns 属性添加到每个页面的html元素中。

3、改变所有的元素为小写

4、关闭所有的空元素

5、修改所有的属性名称为小写

6、所有属性值添加引号

 

    收藏