对WEB标准的理解
在百度百科中这样定义WEB标准:
WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。这些标准大部分由万维网联盟(外语缩写:W3C)起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。
使用WEB标准不仅仅是因为它要求我们这么做,更主要的原因是这样做会让我们的页面更加结构化和高效,更易于各种设备的浏览。
引用一篇文章中的一个例子,有如下代码,找出其中的问题:
<P> 我写的不是HTML代码,是寂寞。<br><br> 我说:<br>不要迷恋哥,哥只是一个传说
在html 4.01 strict下完全正确,在WEB标准xhtml 1.0 strict下,非常明显的问题有:
- p标签没有小写,且没有闭合
- br没有闭合,应该为<br />
- 空格符 必须包含在容器中
修改后的代码如下:
<p> 我写的不是HTML代码,是寂寞。</p> <br /><br /> 我说:<br />不要迷恋哥,哥只是一个传说
但是除去这些问题后,这段代码仍然算不上好的代码,问题有如下三点:
- Xhtml1.0要求结构与表现分离,所以原代码中使用空格符 来缩进是有问题的,应该使用合适的CSS来控制缩进
- 合理使用标签的问题。代码中使用两个<br>换行标签来分隔段落,这样做一方面带来了行距的不确定性,另一方面不利于代码维护。好的做法是将需要分段的地方分别用<p>标签来分隔。
- 针对内容还可以进行一些语义化的优化,比如引用“我”的话可以用引用标签<q>来展示,文献引用可以用<cite>等
再次修改后的代码是这样的:
<p>我写的不是HTML代码,是寂寞。</p> <p>我说:<br /><q>不要迷恋哥,哥只是一个传说</q></p>
这样的代码才算是真正符合WEB标准的高效的代码。