下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则,比如你不能在 <a> 里面再嵌入一个 <a> 这样的约定。
说明:
为了方便读者阅读,本文中的标签使用了大写(根据 XHTML 的规则,元素名必须小写,比如 <html> 而不应是 <HTML>)
小写的单词表明一组或一系列 HTML 标签
每一项条目(标签)后都跟随一组标签列表,如果没有这个列表,那么表明该条目(标签)内部不允许包含任何标签。这意味着该条目内部只能包含纯文本内容(#PCDATA,见下文)。如果注明 (empty),这意味着该条目内部不允许包含任何形式的内容。对于 flow,inline,block,OBJECT 和 BODY,其内部允许包含的内容在文中会单独给出。
#PCDATA 的意思是“parsed character data”,即纯文本内容(不包括任何 HTML 标签,但是转义内容可以存在,比如 ä 和 ä)
CDATA 的意思是“character data”,这意味着不包括转义内容的纯文本内容,详细内容可以参考CDATA Confusion
excluding ... 意即不得直接或者间接的包含所列的元素
注1. 以上内容基于 [HTML 4.01 Specification] 的 Strict DTD。JunChen 翻译自 Allowed nesting of elements in HTML 4 Strict (and XHTML 1.0 Strict)
注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 作为选择器。
到现在再谈 Web 的内容(Content)、结构(Structure)与表现(Presentation)可能有些晚,只是正好想起,理理思路,共勉
解读一下: html:first-child就是html 自己 html:first-child* 就是html下子一级的所有,可以是head html:first-child*+bod
前言 如果你想尝试一下不用表格来排版网页,而是用CSS来排版你的网页,也就是常听的用DIV来编排你的网页结构,又或者说你
English 简体中文 繁體中文 A access 访问,存取 存取 access control 访问控制 存取控制 accessibility 可用性 親和力,可
html 元素,XHTML 文档中的根元素,再熟悉不过了。不过最近折腾一个布局,发现在 IE 中,它不是那么简单的角色,有一些很
1、用户从相同的外观得到好处了吗?并非如此。大多数用户只使用单一的浏览器,因此他们仅采用一种方式来查看站点。他们并
工作原理 #wrapper必须触发hasLayout,不然有时里面的内容会浮得怪怪的,我直接用float的,可以用其他方式。其实如果只是要
表现: 中间一栏居中与固定宽度,左右两栏宽度相等同时自适应宽度。 原理: 利用margin的负值错别固定的宽度,因为要分两边