通过W3C XHTML1.0标准验证的经验
在网页开发中,遵循W3C的XHTML1.0标准是确保代码质量和兼容性的关键步骤,以下是一些通过W3C XHTML1.0标准验证时需要注意的问题和经验:
引号问题:在编写HTML标签的属性时,属性值必须用引号包围。<div class=tzh>I am TZH!</div>
中的class
属性缺少引号,正确写法应该是<div class="tzh">I am TZH!</div>
。
大小写敏感:XHTML1.0标准对标签名和属性名的大小写是敏感的,因此必须使用小写。<SPAN class="tzh">TZH is me!</SPAN>
中的SPAN
应该改为span
。
闭合标签:自闭合的标签如<br />
不能写成<br>
,虽然许多浏览器可以识别未闭合的标签,但为了符合标准,应该使用闭合形式。
特殊字符:在HTML中直接使用某些特殊字符可能会导致错误。<h1>~tangzhehao~hey~</h1>
中的波浪号~
应该使用ISO Latin1字符集中的十进制编码表示。
id和class属性:在id或class属性中,第一个字符不能是数字,必须是字母。<form id="54tzh"></form>
中的id属性值54tzh
应该改为tzh45
。
图片标签:在<img>
标签中,必须包含alt属性,用于描述图片内容。<img src="logo.gif">
应该添加alt属性,如<img alt="Logo" src="logo.gif">
。
脚本标签:在<script>
标签中,必须包含type属性,指定脚本的类型。<script language="JavaScript">
应该改为<script language="JavaScript" type="text/javascript">
。
标签嵌套顺序:HTML标签的开始和结束标签必须正确匹配。<div><h1>I am TZH!</div></h1>
中的结束标签顺序应该调整为<div><h1>I am TZH!</h1></div>
。
特殊标签套装:某些HTML标签需要按照特定顺序嵌套。<dl><dd><ul><li>
等标签必须完整且顺序正确。
未打开标签:在编辑代码时,如果删除了部分代码而没有正确关闭或打开标签,会导致“is not open”错误,这通常意味着有标签没有被正确闭合。
CSS标准注意事项
除了上述XHTML1.0标准的注意事项外,通过W3C CSS标准验证时也有一些特定的经验:
问题 | 描述 |
偏门CSS少用 | 如breakword断行、zindex手动分层等,这些CSS属性可能不被所有浏览器支持,且难以通过W3C验证 |
center不是float的值 | center是textalign的值,而不是float的值 |
对齐不能包括两个值 | 在float或textalign中不能同时填写两个值,如float:left top是不合法的 |
滚动条颜色自定义 | 自定义滚动条颜色可能导致无法通过W3C验证,且不同浏览器对自定义颜色的识别程度不同 |
单独设置滚动条 | 使用overflowx或overflowy设置横向或纵向滚动条时,最好在body和html标签中同时设置 |
background和color颜色相同 | 如果background和color颜色相同,可能会收到W3C的警告 |
FAQs
1、为什么XHTML1.0标准要求属性值必须用引号包围?
XHTML1.0标准要求属性值用引号包围是为了明确属性值的边界,避免因空白或其他特殊字符导致解析错误,虽然许多浏览器可以处理无引号的属性值,但为了保持代码的清晰性和一致性,推荐总是使用引号。
2、如何避免特殊字符导致的验证错误?
为了避免特殊字符导致的验证错误,可以使用字符实体(如&代表&)或使用相应的字符编码(如 代表非换行空格),这样可以确保特殊字符在HTML中正确显示,同时通过验证。