DOCTYPE和XHTML的相关认识

2020-05-10 13:37:27易采站长站整理

  此外,除非您小心地在结束斜杠之前添加一个空格,否则现有 HTML 浏览器在处理空元素简写时会出现问题。因此,应当使用 <BR&lt; b>[space] /&gt;(而不是)向页中添加 <br> 元素。
  不得存在重叠标记。
  可以使标记嵌套,但是不允许使标记重叠。例如,以下 XHTML 是有效的。
  <b><i>This is bold and italic</i></b>但是,以下 XHTML 是无效的。
  <i><b>This is bold and italic</i></b>不得存在属性最简化。
  所有属性都必须具有值,即使该值看起来有一点儿奇怪。例如,标记<input type=”checkbox” checked />是无效的 XHTML,因为 checked 属性不具有值。该标记应当写成<input type=”checkbox” checked=”checked” />。
  必须使用 id 属性而不是 name 属性。
  在 HTML 中,可以使用 name 属性来标识 <a>、<applet>、<form>、<frame>、<iframe>、<img> 和 <map> 元素。尽管可以使用 name 属性生成 XHTML 1.0 Transitional 页,但在 XHTML 1.0 Strict 和 XHTML 1.1 标准中已经将 name 属性删除。您应当改而使用 id 属性来标识这些元素。
  必须将 <script> 和 <style> 元素的内容包装到 CDATA 节中。
  如果在脚本或样式表中使用特殊字符(例如 < 或 &)或实体引用(例如 &lt; 或 &),则需要将脚本或样式表的内容标记为 CDATA(字符数据)节,如下所示。
  &lt;script type="text/javascript"> <![CDATA[ function isLess(a, b) { if (a &lt; b) return true; } ]]> </script>使用 CDATA 节并非对所有浏览器都有效。例如,Internet Explorer 会将 <script> 标记中的 CDATA 节视为语法错误。可以通过添加 JavaScript 注释避免该问题,如下所示。
  <script type="text/javascript"> /* <![CDATA[ */ function isLess(a, b) { if (a &lt; b) return true; } /* ]]> */ </script>JavaScript 使用 /* 和 */ 来标志注释的开始和结束。因此,CDATA 节对 JavaScript 隐藏,但不对分析该页的浏览器隐藏。总之,较好的做法是将样式规则和脚本放在外部文件中,而从 XHTML 页中引用这些文件。通过使用外部样式表和脚本,能够避免上述所有问题。
  XHTML 和 DOCTYPE 切换
  为 Web页指定 DOCTYPE 会影响浏览器呈现页的方式。Internet Explorer、Mozilla Firefox 和 Opera 全都支持一种名为“DOCTYPE 切换”(也叫“DOCTYPE 嗅探”)的功能。
  引入 DOCTYPE 切换的目的是使浏览器能够正确地呈现符合标准的 Web 站点以及旧式 Web 站点。大多数 Web 站点被开发为呈现 HTML 页而不是 XHTML 页。浏览器通过判断是否存在 DOCTYPE 来确定何时应该使用标准来呈现页。