正 文

一步一步学 XHTML


www.7dspace.com  更新日期:2005-11-5 4:50:46  七度空间


理解基础规则

避免使用过时的元素

如果习惯于使用 HTML 3.2 或 HTML 4.01 Transitional(也称为宽松 DTD),可能必须注意那些不允许在 XHTML 1.1 中使用的元素,因为它们太富于表示性了。如果不清楚使用的是什么版本的 HTML,最好假设这个忠告对您也适用。下面是不能在 XHTML 1.1 中使用的元素的非正式列表。

    * applet
    * basefont
    * center
    * dir
    * font
    * iframe
    * isindex
    * menu
    * noframes
    * s
    * strike
    * u

最有可能忽略的是 font 元素。本教程后面将说明如何取代它。合法元素上的某些属性也是禁用的,但是很难把所有这些细节都罗列在这儿。举个例子,div 元素不再有 align 属性了。同样,后面还有 更详细的说明。

所有元素都使用结束标签

每个起始标签都必须有匹配的结束标签。不能再使用 <p>hello<b>world</p> 这样的标记。为了保证结构良好,必须这样关闭 bold 标签:<p>hello<b>world</b></p>。

这意味着必须特别注意空元素,如 br 和 hr。您可能习惯于写成 <hr>,但是现在必须使用正确的空元素语法,<hr/>(注意增加的斜线)。为了避免混淆,不建议使用空元素的其他语法形式 <hr></hr>。顺便提一下,过去曾经建议在空元素中的斜杠之前插入一个空格,如 <hr />,但现在实际上不需要了。只要正确包括了文档类型声明(从而避免 quirks 模式),大多数 Web 浏览器能够正确地呈现元素。

应该将元素看作是其他标记的容器,而不是标记之间的边界。只要记住这一点,就不会写出下面这样的代码:

清单 2. 不正确的 XHTML(结束标签)

<blockquote>
  Twinkle twinkle little star<p>
  How I wonder what you are<p>
  Up above the world so high<p>
  Like a diamond in the sky<p>
</blockquote>

要记住每个段落元素都是一个容器,应该这样写:

清单 3. 正确的 XHTML(结束标签)

<blockquote>
  <p>Twinkle twinkle little star</p>
  <p>How I wonder what you are</p>
  <p>Up above the world so high</p>
  <p>Like a diamond in the sky</p>
</blockquote>

正确的嵌套元素

要保证元素的嵌套是正确的。不应该这样写:

清单 4. 不正确的 XHTML(嵌套元素)

<p>
  <em><strong>Hello world</em></strong>
</p>

而必须写成:

清单 5. 正确的 XHTML(嵌套元素)

<p>
  <em><strong>Hello world</strong></em>
</p>

strong 元素完全嵌套在 em 之中,而不是互相交叉。要注意,我使用了元素 em 和 strong,而不是更常见的 i 和 b。XHTML 1.1 也支持后两个元素,但是应注意使用前两个,因为它们具有更加面向内容的语义。

所有属性都使用正确的形式

在 XHTML 中不要使用没有引号的属性值。对于 HTML,在值是一个合法的数字时可以省略引号,但 XHTML 不允许例外。不能写成 <table border=1>,而应该写成 <table border="1">。

不要省略属性值。某些 HTML 属性还可以作为标志,因此可以这样写 <input disabled>,但是在 XHTML 中,这种情况下必须把属性名作为属性值重复一遍:<input disabled="disabled">。而且不要忘记,所有属性名都是小写的,也反映到这类属性值中。

要注意 XML 属性的空格规范化规则。简言之,就是不能用空白在属性中表示更多的意义,只能作为简单的、原子性的分隔符。因此,属性值 " a b c " 最终被认为是 "a b c"。

使用 id 属性

XHTML 1.1 不允许 name 属性,该属性通常用于为片段标识符设置锚,相反,应该使用 id 属性。因此不要使用:

<a name='foo'>Weigh anchor here</a>

而应写成:

<a id='foo'>Weigh anchor here</a>

使用 xml:lang 属性

XHTML 1.1 不允许 lang 属性,该属性可放在任何 HTML 元素中指定元素内容使用的自然语言。应使用 xml:lang 属性代替 lang。不应该这样写:

<p lang='fr'>Mon ami</p>
<p lang='en'>My friend</p>

而应写成:

<p xml:lang='fr'>Mon ami</p>
<p xml:lang='en'>My friend</p>

要记住 xml 前缀保留给名称空间 http://www.w3.org/XML/1998/namespace,这不需要明确声明。

前面“一个完整的例子”中给出了使用 xml:lang 的例子。

6页,页码:[1] [2] [3] [4] [5] [6] 

上一篇:如何修改TTL值来防止入侵
下一篇:用.NET Remoting来开发分布式应用初步
作者:Uche Ogbuji  来源:developerWorks 中国 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐