XHTML与HTML之间的差异(转)

本文介绍了从HTML到XHTML的转换技巧,包括元素正确嵌套、元素关闭、小写字母使用、属性值加引号及避免属性简写等内容。同时对比了XHTML与HTML文档类型的声明方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML融入了许多XML规范,XHTML与HTML 4.01标准没有太多的不同,你只需要注意以下几点,并养成良好的习惯就可以从HTML转变为XHTML。

  • XHTML元素必须被正确地嵌套。
  • XHTML元素必须被关闭。
  • 标记名和属性名必须用小写。
  • 属性值必须加引号。
  • 属性不能简写。
  • 使用XHTML DTD声明文档类型。

另外,有些使用方法在XHTML中不鼓励使用,虽然现在的版本还支持,但应该尽量避免使用。

1、XHTML元素必须被正确地嵌套

在HTML中,某些元素可以像这样彼此不正确地嵌套:

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

在XHTML中,所有元素必须彼此正确地嵌套:

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

2、XHTML元素必须被关闭

在XHTML中,所有成对儿的标记必须要保留结束标记,不能只写开始标记。比如:

<p>This is a paragraph

上面的写法中,<p>标记没有关闭,正确的写法是:

<p>This is a paragraph</p>

在XHTML中,所有单个的标记也必须关闭。比如:<br>应写为<br />,<img href="t.gif">应写为<img href="t.gif" />等。

注意:有些版本的浏览器不能识别类似<br/>的标记,但在“/>”前加个空格就能识别了,所以应写为<br />。

3、标记名和属性名必须用小写

<P ALIGN="CENTER">This is a paragraph</P>

上面的写法中,标记名p、属性名align都应该改成小写。

4、属性值必须加引号

<img href="t.gif" width="80" οnclick="setImg('t.gif')" />

上面的写法中,各属性值的引号不能省略。如果属性值内部需要引号,可以改为单引号进行分界(注:也可以外面用单引号,内部用双引号)。

5、属性不能简写

在HTML中,有些属性只有单一固定的值,这时可以只写属性名,不写属性值,但在XHTML中应该完整书写。如:

<input type="radio" checked>

checked是一个简写的属性,在XHTML中应该改为:

<input type="radio" checked="checked" />

与此类似的属性还有 readonly、noresize、selected、disable 等。

6、使用XHTML DTD声明文档类型

在每个XHTML文档中都必须使用XHTML DTD声明文档的类型,这才能保证你制作的是XHTML网页。

 HTML/XHTML文档结构
回顶部

以下是HTML 4.01文档结构:

<! doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 
</head>
<body>
 
</body>
</html>

以下是XHTML 1.0文档结构:

<! 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>
 
</head>
<body>
 
</body>
</html>

doctype就是文档类型声明,前者声明文档是HTML 4.01,后者声明文档是XHTML 1.0。

在doctype声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Transitional//EN" 的DTD中进行了定义。浏览器将明白如何寻找匹配此公共标识符的DTD。如果找不到,浏览器将使用公共标识符后面的URL作为寻找DTD的位置。

注:doctype并非XHTML文档自身组成部分,它不是XHTML元素,不需要关闭。

<html>...</html>是文档的开始和结束,所有文档内容都放在这个区域里。

<head>...</head>是文档的头部,文档的说明和参数定义放在这个区域里。

<body>...</body>是文档的主体,需要在浏览器中显示的内容都放在这个区域里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值