XHTML1.0与HTML兼容指引16条
时间:2009-6-25 作者:smarteng 分类: WEB相关
1.避免将页面声明为XML类型,页面使用UTF-8或者UTF-16字符集。
2.在空元素标签(不能用来包含内容的标签)结束符>前加上斜杠 /,如:<br />,<hr />等等。
3.当一个非空元素(此标签是用来包含内容的,如标题,段落)内容为空时,给它一个空白字符,而不要使用像空元素那样的结束方法,如:当一个没有内容的P标签请书写:<p> </p>而不要写成<p />。[break]
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.使用&替代属性值中的&符号,如:
http://www.w3cgroup.com/default.asp?CateID=2&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注意特殊字符'(省略号,U+0027)在XML1.0中有介绍,但却没有出现在HTML中,使用'替换'则可在HTML4中使用。