HTML XHTML简介

一、什么是XHTML

XHTML 是一种以 XML 格式编写的 HTML,是在 2000 年 1 月首次成为 W3C 的推荐标准,它融合了 HTML 的功能和 XML 的严格性,旨在更加严谨地定义网页的结构和内容。XHTML 采用了严格的 XML 语法规则,包括对元素的嵌套、大小写的敏感性等方面的要求,同时也继承了 HTML 的标签和属性。

XHTML 的基本规则包括:

1、所有标签必须是小写;

2、所有标签必须正确地嵌套;

3、所有标签必须关闭,即使是空元素(比如 <br>)也要使用闭合标签或者 XHTML 空元素语法(比如 <br />);

4、属性值必须用双引号括起来。

在实践中,大多数主流浏览器都支持 XHTML,需要注意的是,XHTML 的兼容性要求更高,开发人员需要特别注意遵循严格的语法规则,以确保页面能够在各种浏览器中正确显示。

二、为什么使用XHTML

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

<html> 
<head> 
<title>This is bad HTML</title> 
<body> 
<h1>Bad HTML 
<p>This is a paragraph 
</body>

以下是经过修正后的 HTML 代码:

<!DOCTYPE html>
<html> 
<head> 
<title>This is bad HTML</title> 
</head>
<body> 
<h1>Bad HTML</h1> 
<p>This is a paragraph</p> 
</body>
</html>

XML 是一种必须正确标记且格式良好的标记语言,而 XHTML 则是作为 XML 被重新设计的 HTML,它融合了 HTML 的功能和 XML 的严格性,旨在更加严谨地定义网页的结构和内容。通过结合 XML 和 HTML 的长处,XHTML 的出现提供了更加严格和规范的网页开发方式,有助于提高页面的可维护性和可扩展性。

三、HTML和XHTML区别

1、文档结构:

  • XHTML DOCTYPE 是强制性的:XHTML 文档必须以正确的 DOCTYPE 声明开头。这有助于浏览器正确地渲染页面,并指明页面所使用的标准;
  • <html> 中的 XML namespace 属性是强制性的:XHTML 要求在 <html> 标签中声明 XML namespace,用来指定文档所使用的命名空间;
  • <html>、<head>、<title> 以及 <body> 也是强制性的:这些标签在 XHTML 中是必不可少的,它们定义了文档的基本结构和内容。

2、元素语法:

  • XHTML 元素必须正确嵌套:在 XHTML 中,元素必须按正确的层次结构嵌套,不允许出现交叉或不完整的嵌套关系;
  • XHTML 元素必须始终关闭:每个元素必须被明确地关闭,即使是没有内容的空元素也需要进行闭合;
  • XHTML 元素必须小写:XHTML 对标签名大小写敏感,强制要求标签名必须使用小写字母;
  • XHTML 文档必须有一个根元素:XHTML 文档必须有且仅有一个根元素,通常是 <html> 标签。

3、属性语法:

  • XHTML 属性必须使用小写:与标签名类似,XHTML 要求所有属性名必须使用小写字母;
  • XHTML 属性值必须用引号包围:XHTML 要求所有属性值必须使用引号(单引号或双引号)括起来;
  • XHTML 属性最小化也是禁止的:XHTML 不允许省略属性值,所有属性必须显式地设置值。

4、属性写法差异

可以使用完整的属性写法,也可以使用最小化属性写法,即只写属性名而不写属性值,此时默认属性值等于属性名本身。例如checked 属性就可以以最小化属性写法表示为 <input type="radio" name="sex" value="男" checked />,或者完整写法为 <input type="radio" name="sex" value="女" checked="checked" />。

然而,在 XHTML 中,不能使用属性最小化写法。XHTML 对属性的书写要求更加严格,所有属性都必须以完整的形式出现,即属性名和属性值必须同时存在。因此,在 XHTML 中,需要将 checked 属性写为 <input type="radio" name="sex" value="男" checked="checked" /> 这种完整的形式。

四、文档类型声明

在编写 XHTML 文档时,必须包含 XHTML 文档类型声明(XHTML DOCTYPE declaration)。XHTML 文档类型声明的目的是告知浏览器当前文档遵循的标准和规范,以便浏览器能够正确地解释和渲染文档内容。同时,文档类型声明也有助于确保文档的兼容性和一致性。

XHTML 文档类型声明通常以 <!DOCTYPE> 开头,后面跟着具体的声明信息,例如:

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

这个声明指明了文档所使用的 XHTML 版本和 DTD(文档类型定义),确保文档被正确解析和显示。

五、XHTML元素使用规范

1、必须合理嵌套

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

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

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

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

2、必须有关闭标签

错误示例:

<p>This is a paragraph 
<p>This is another paragraph

正确示例:

<p>This is a paragraph</p> 
<p>This is another paragraph</p>

3、空元素必须包含关闭标签

错误示例:

A break: <br>
A horizontal rule: <hr> 
An image: <img src="happy.gif" alt="Happy face">

正确示例:

A break: <br /> 
A horizontal rule: <hr /> 
An image: <img src="happy.gif" alt="Happy face" />

4、XHTML元素必须是小写

错误示例:

<BODY> 
<P>This is a paragraph</P> 
</BODY>

正确示例:

<body> 
<p>This is a paragraph</p> 
</body>

5、属性名称必须是小写

错误示例:

<table WIDTH="100%">

正确示例:

<table width="100%">

6、属性值必须有引号

错误示例:

<table width=100%>

正确示例:

<table width="100%">

7、不允许属性简写

错误示例:

<input checked> 
<input readonly> 
<input disabled> 
<option selected>

正确示例:

<input checked="checked"> 
<input readonly="readonly"> 
<input disabled="disabled"> 
<option selected="selected">

六、HTML转换为XHTML

下面展示了如何将给定的 HTML 代码转换为符合要求的 XHTML 代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>我的网页</title>
</head>
<body>
<h1>欢迎访问我的网页</h1>
<p>这是一个示例段落。</p>
<img src="logo.png" alt="Logo" />
<br />
<input type="text" name="username" id="username" value="" />
<a href="https://www.example.com">点击这里</a>
</body>
</html>

在这个示例中进行了以下操作:

1、添加了<!DOCTYPE> 声明,指定了 XHTML 文档类型;

2、在 <html> 标签中添加了 xmlns 属性,以指定命名空间;

3、将所有标签和属性名都改为小写;

4、对空元素(如 <br>和 <img>)进行了闭合;

5、给所有的属性值都添加了引号。

广告合作
QQ群号:707632017

温馨提示:

1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com。(#改为@)

2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

目录