+ -
当前位置:首页 → 问答吧 → (X)HTML Strict 下的嵌套规则

(X)HTML Strict 下的嵌套规则

时间:2007-01-17

来源:互联网

译者注:时间匆忙没有来得及细细研究,希望可以讨论并且完善说明部分(现在说明并不是很全面)。

下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则,比如你不能在 <a> 里面再嵌入一个 <a> 这样的约定。

说明:

* 为了方便读者阅读,本文中的标签使用了大写(根据 XHTML 的规则,元素名必须小写,比如 <html> 而不应是 <HTML>)
* 小写的单词表明一组或一系列 HTML 标签
* 每一项条目(标签)后都跟随一组标签列表,如果没有这个列表,那么表明该条目(标签)内部不允许包含任何标签。这意味着该条目内部只能包含纯文本内容(#PCDATA,见下文)。如果注明 (empty),这意味着该条目内部不允许包含任何形式的内容。
* #PCDATA 的意思是“parsed character data”,即纯文本内容(不包括任何 HTML 标签,但是转义内容可以存在,比如 ä 和 ä)
* CDATA 的意思是“character data”,这意味着不包括转义内容的纯文本内容,详细内容可以参考CDATA Confusion
* excluding ... 意即不得直接或者间接的包含所列的元素

allowednesting.gif (17.62 KB)
allowednesting
2007-1-17 14:17


注1. 以上内容基于 [HTML 4.01 Specification] 的 Strict DTD。

注2. 对于 XHTML 1.0,基本上一致,不同点如下:

* 对于 <script> 和 <style> 的内容,在 HTML 4 里是 CDATA 而在 XHTML 里是 #PCDATA
* 在 XHTML 中,<table> 标签后可以紧跟一个 <tr>,而在 HTML 4.01 里,不允许这样,不过 <tbody> 标签又是可以省略的。意思就是说,如果代码中的 <table> 后紧跟 <tr>,对于 HTML 4.01,会隐性的生成一个 <tbody> 标签,而在 XHTML 里面就没有。这会影响到样式表使用 tbody 作为选择器。

原文地址:http://www.junchenwu.com/2007/01 ... html_10_strict.html

[ 本帖最后由 greengnn 于 2007-1-17 14:19 编辑 ]

作者: Farewelli   发布时间: 2007-01-17

我来贴一个关于xhtml标签的参考网站
http://www.sharkui.com/reference/htmltags/index.php    中文版
http://www.htmldog.com/reference/htmltags/                英文版

标签嵌套规则也是很重要的,最近我正找这方面的资料学习,大家看到什么好的教程贴上来阿!

作者: mesher   发布时间: 2007-01-17

标签的嵌套应有一定的规律
应该做到应用最简洁的标签实现各种效果,这样不会使结构过于复杂.
而且应用一定规律有效的标签做嵌套更容易被搜索引擎抓取

作者: 261509559   发布时间: 2007-01-18

不错的帖子哦

作者: hero4u   发布时间: 2007-01-19

我喜欢这个东西,谢谢了

作者: lkele   发布时间: 2007-01-23

学习一下,原来还有这么多规则

作者: skendy   发布时间: 2007-02-02

请问里面的“flow”是什么意思?这个我有点不懂!

作者: resun   发布时间: 2007-03-29

ul ol下只能放li吗,应该还能嵌套ul吧?,li之间插入其他元素可以吗???比如div p

作者: dexbol   发布时间: 2007-04-13

其实一个好的编辑器就会在适当的时候智能提示的

作者: realism   发布时间: 2007-04-28

引用:
原帖由 dexbol 于 2007-4-13 16:25 发表
ul ol下只能放li吗,应该还能嵌套ul吧?,li之间插入其他元素可以吗???比如div p
li之间又属于另一个嵌套了

作者: txqing   发布时间: 2007-04-28

不错    收藏了

作者: Satanism   发布时间: 2007-04-29

看不大懂,楼主能翻译一下吗??

作者: karlen   发布时间: 2007-04-29

终于有标准了

作者: alou   发布时间: 2007-09-18

引用:
原帖由 resun 于 2007-3-29 10:39 发表
请问里面的“flow”是什么意思?这个我有点不懂!
和这楼的一样,不太了解“flow”是什么意思,谁能说哈

作者: alou   发布时间: 2007-09-18

flow我理解的是指文档流 ,在这里应该是指 即可包含block类型,又可包含inline类型

[ 本帖最后由 pod 于 2007-9-18 11:20 编辑 ]

作者: pod   发布时间: 2007-09-18

很直观,呵呵,彻底解决了一些人的疑问。

作者: dearmonkey   发布时间: 2007-09-18

好东西,赞一个
收藏先

作者: welcome58   发布时间: 2008-03-03

不错。收藏之

作者: Hiwljun   发布时间: 2008-03-03

不用strict

作者: zhutianyi   发布时间: 2008-03-04

请问这里的flow是什么?
另外,#PCDATA 里可以包含转义内容,
这里的转义内容指的又是什么呐?

作者: ahuiok   发布时间: 2008-03-06

看不大懂,楼主能翻译一下吗??

作者: better789   发布时间: 2008-03-06

必须收藏。。。。。。。。。。。。。。

作者: weihua22   发布时间: 2008-03-10

学习并收藏了
谢谢

作者: Jaffe   发布时间: 2008-03-13

好东西,收藏先...

作者: 90box   发布时间: 2008-03-18

第二次看这个贴子了 似乎能看懂的多些了

作者: linfojin   发布时间: 2008-03-19

不错,感谢楼主.

作者: KsharpNet   发布时间: 2008-03-23

谢谢讲解

作者: oneyou13   发布时间: 2008-04-22

收藏,但是记不住啊~~~ft

作者: sivadu   发布时间: 2008-04-23

疑似很不錯的帖。 但請在標題處加上“新手勿入”

作者: gogeren   发布时间: 2008-04-28

p 还在 h1..的前面啊?

作者: jkui120   发布时间: 2008-05-08

复制内容到剪贴板
代码:
<!--================ Character mnemonic entities =========================-->
<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
%HTMLlat1;
<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "xhtml-symbol.ent">
%HTMLsymbol;
<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "xhtml-special.ent">
%HTMLspecial;
<!--================== Imported Names ====================================-->
<!ENTITY % ContentType "CDATA">
    <!-- media type, as per [RFC2045] -->
<!ENTITY % ContentTypes "CDATA">
    <!-- comma-separated list of media types, as per [RFC2045] -->
<!ENTITY % Charset "CDATA">
    <!-- a character encoding, as per [RFC2045] -->
<!ENTITY % Charsets "CDATA">
    <!-- a space separated list of character encodings, as per [RFC2045] -->
<!ENTITY % LanguageCode "NMTOKEN">
    <!-- a language code, as per [RFC3066] -->
<!ENTITY % Character "CDATA">
    <!-- a single character, as per section 2.2 of [XML] -->
<!ENTITY % Number "CDATA">
    <!-- one or more digits -->
<!ENTITY % LinkTypes "CDATA">
    <!-- space-separated list of link types -->
<!ENTITY % MediaDesc "CDATA">
    <!-- single or comma-separated list of media descriptors -->
<!ENTITY % URI "CDATA">
    <!-- a Uniform Resource Identifier, see [RFC2396] -->
<!ENTITY % UriList "CDATA">
    <!-- a space separated list of Uniform Resource Identifiers -->
<!ENTITY % Datetime "CDATA">
    <!-- date and time information. ISO date format -->
<!ENTITY % Script "CDATA">
    <!-- script expression -->
<!ENTITY % StyleSheet "CDATA">
    <!-- style sheet data -->
<!ENTITY % Text "CDATA">
    <!-- used for titles etc. -->
<!ENTITY % Length "CDATA">
    <!-- nn for pixels or nn% for percentage length -->
<!ENTITY % MultiLength "CDATA">
    <!-- pixel, percentage, or relative -->
<!ENTITY % Pixels "CDATA">
    <!-- integer representing length in pixels -->
<!-- these are used for image maps -->
<!ENTITY % Shape "(rect|circle|poly|default)">
<!ENTITY % Coords "CDATA">
    <!-- comma separated list of lengths -->
<!--=================== Generic Attributes ===============================-->
<!-- core attributes common to most elements
  id       document-wide unique id
  class    space separated list of classes
  style    associated style info
  title    advisory title/amplification
-->
<!ENTITY % coreattrs
"id          ID             #IMPLIED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED"
  >
<!-- internationalization attributes
  lang        language code (backwards compatible)
  xml:lang    language code (as per XML 1.0 spec)
  dir         direction for weak/neutral text
-->
<!ENTITY % i18n
"lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #IMPLIED"
  >
<!-- attributes for common UI events
  onclick     a pointer button was clicked
  ondblclick  a pointer button was double clicked
  onmousedown a pointer button was pressed down
  onmouseup   a pointer button was released
  onmousemove a pointer was moved onto the element
  onmouseout  a pointer was moved away from the element
  onkeypress  a key was pressed and released
  onkeydown   a key was pressed down
  onkeyup     a key was released
-->
<!ENTITY % events
"onclick     %Script;       #IMPLIED
  ondblclick  %Script;       #IMPLIED
  onmousedown %Script;       #IMPLIED
  onmouseup   %Script;       #IMPLIED
  onmouseover %Script;       #IMPLIED
  onmousemove %Script;       #IMPLIED
  onmouseout  %Script;       #IMPLIED
  onkeypress  %Script;       #IMPLIED
  onkeydown   %Script;       #IMPLIED
  onkeyup     %Script;       #IMPLIED"
  >
<!-- attributes for elements that can get the focus
  accesskey   accessibility key character
  tabindex    position in tabbing order
  onfocus     the element got the focus
  onblur      the element lost the focus
-->
<!ENTITY % focus
"accesskey   %Character;    #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED"
  >
....

看dtd就行了很完整

作者: afeicool   发布时间: 2008-05-08

flow是什么意思 请知道的朋友详细解释一下好么? 谢谢

作者: samantha808   发布时间: 2008-08-06

规则   小的不能嵌套大的    哈哈

作者: whithey   发布时间: 2008-08-11

倒!没一个人好好讲讲flow是什么意思啊?是不是无所谓的意思?

作者: hotcrab2008   发布时间: 2009-02-12

指文档流吧,inline和block都可以出现在里面。

作者: yoom   发布时间: 2009-02-12

原文地址:http://www.cs.tut.fi/~jkorpela/html/strict.html

作者: zhuyinhong   发布时间: 2009-02-13

看了下楼上的原文,深深的感觉到,看技术文档还是要看原文扎实些,理解完全不一样。

作者: tmjwo   发布时间: 2011-05-27