iLeichun

当前位置: 首页 > 网页设计

解决XHTML1.0与HTML兼容问题

分类:网页设计   来源:网络   时间:2011-03-12 12:50:07

在为大家介绍完如何在XHTML中正确地使用JavaScript和CSS之后,W3CGroup继续为大家带来XHTML与HTML兼容的16条指引!

1.避免将页面声明为XML类型,页面使用UTF-8或者UTF-16字符集。

2.在空元素标签(不能用来包含内容的标签)结束符>前加上斜杠 /,如:<br />,<hr />等等。

3.当一个非空元素(此标签是用来包含内容的,如标题,段落)内容为空时,给它一个空白字符,而不要使用像空元素那样的结束方法,如:当一个没有内容的P标签请书写:<p> </p>而不要写成<p />。

4.当你的style和scripts内容中出现 <, &, ]]>或者两个连续的横杠 --时,请使用外部文件进行引入。

5.避免在元素属性值中出现断行或者多个空格。

6.不要在文档的head部分包含一个以上的isindex元素(最好不使用),此元素不推荐使用。

isindex:使浏览器显示一个对话框,提示用户输入单行文本。

在 HTML 4 中,此元素是不推荐使用的,而推荐使用 INPUT 元素。isIndex 的 tagName 属性将返回 input。

此元素是一个块元素,此元素需要关闭标签。

下面的例子使用 ISINDEX 元素提换了默认的提示:
   
<isindex prompt="输入要搜索的索引关键字" />

7.当要给一个元素指定language时,请使用lang和xml:lang属性,xml:lang的值优先级更高。

8.请使用id属性当做元素标识符,避免使用name属性,尤其在这些元素上更不赞成使用name属性当做它们的标识符:a, applet, form, frame, iframe, img, map。

9.给页面定义文档字符集,给xml文档定义字符集使用
<?xml version="1.0" encoding="UTF-8"?>
给XHTML定义字符集使用
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />

 

10.Boolean类型元素属性值请使用该属性名,如:checked="checked",Boolean类型元素有:compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, selected, noresize, defer

11.HTML4和XML文档对象模型指定HTML元素和属性名返回大写格式。XHTML中元素和属性名返回小写格式。

12.使用&amp;替代属性值中的&符号,如:
http://www.w3cgroup.com/default.asp?CateID=2&amp;page=2
要比下面的好:
http://www.w3cgroup.com/default.asp?CateID=2&page=2

13.在XHTML中CSS样式标签style及属性名必须使用小写;

在HTML的table中,tbody将会在解析时自动补齐,而在XML中却不行,所以,需要自己添加上tbody元素,如果在CSS选择符中使用到了它;

CSS对某个具有id属性的元素进行选择时,使用#选择符;

CSS对某个具有class属性的元素进行选择时,使用.选择符;

14.如何在解析XML文档时使用Style元素?在HTML4和XHTML中,style元素可以用在文档中定义样式规则,在XML中,XML stylesheet用来定义样式规则,为了兼容这个规则,在解析XML文档时如果需要使用style元素,style元素需要使用id属性作为标示符,并且,要有一个XML stylesheet引用它,如:

<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css"?>
<?xml-stylesheet href="#internalStyle" type="text/css"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>An internal stylesheet example</title>
<style type="text/css" id="internalStyle">
  code {
    color: green;
    font-family: monospace;
    font-weight: bold;
  }
</style>
</head>
<body>
<p>
  W3CGroup为大家介绍16条兼容XHTML与HTML的指引!
<code>http://www.w3cgroup.com/article.asp?id=252</code>.
</p>
</body>
</html>

15.需要注意HTML和XML中的空白字符。有些在HTML文档中合法的字符,到了XML里可能就不合法了,如,在HTML中,换页符(Formfeed character U+000C)被解析为空格,而在XHTML中,由于XML的字符定义,它变得不合法。

16注意特殊字符&apos;(省略号,U+0027)在XML1.0中有介绍,但却没有出现在HTML中,使用&#39;替换&apos;则可在HTML4中使用。

http://www.w3cgroup.com译文,转载请注明出处!
参见:
http://www.w3.org/TR/xhtml1/#guidelines

 

更多