XHTML文档之列表
列表是两个或更多相关项的集合。只包含一个项的列表也完全有效,在某些情况下甚至在语义上也是正确的。但通常被一个列表组织在一起的项有多个。XHTML中有3种类型的列表:无序列表、有序列表和自定义列表。
一、无序列表ul
无序列表用ul元素标明。它用于项的顺序不太重要的列表,如食谱中的配料列表:只要拿到列表上的所有东西就行,按什么顺序拿并不重要。每个列表项由自己的li元素来定义,它们都包含在外围的<ul>和</ul>标签中。ul元素是块级元素,其子只能是li元素,文本和其他元素都不能出现在无序列表中,除非它们被包含在一个li中。
在图形化浏览器中,无序列表的默认显示形式带有一点缩进,且每一个列表项之前都有一个丸行符号。当然可以通过css来将默认的丸形符号改为另一个字符甚至一个图像。
二、有序列表ol
ol元素用于定义有序列表。有序列表中的项应该按照特定顺序阅读或办理,如食谱中的操作步骤。可视化浏览器显示的有序列表中的每个项旁都有一个自动生成的编号。
与无序列表一样,ol元素是块级元素,只能包含li。
三、列表项li
在有序和无序列表中,都使用块级的li元素来定义各个项。列表项中可以包含文本或其他元素——甚至是新的列表。
当一个列表嵌套在另一个列表中时,默认情况下内层列表的样式将根据其嵌套级别而有所不同。也就是说,每一层嵌套的列表都进一步缩进了一点,并且标记符号的样式也各不相同。
四、定义列表
定义列表不仅仅是项的集合,更是项及其说明的集合。定义列表不像有序和无序列表那样包含列表项元素(li)。这种列表中的项可以由定义术语(dt)和定义说明(dd)组成。一条术语可以有多条相关的说明(也就是说,一个dt标记可以有多个dd标记),一条说明也可以应用到在它之前出现的一组术语。一个dd之后紧接着一个dt标志一个新的术语和说明序列的开始,是划分定义列表各部分的地方。
在术语和它的说明之间有一种隐含的语义联系。dd和dt元素彼此捆绑在一起,配对参与形成列表的结构。因为这种语义上的共生关系,定义列表有时被用于标记从技术上说并非由术语及其定义组成的列表。一系列问题及其答案、一组图像及其标题、用发言者的名字及其发言表示的一系列对话,都是定义列表潜在的用武之地。
1. dl标签
dl元素用于创建一个定义列表。它是块级元素,必须至少包含一条术语(dt)或一条说明(dd),dl之子元素只能是dt和dd元素。
2. dt标签
dt元素是块级元素,只能包含文本和(或)行内元素。它标明了一个术语或所要说明的对象。一条定义术语关联着紧随其后的每一条说明,直到有另一个dt元素开始一个新的序列(或直到列表结束于其闭标签</dl>)。
3. dd标签
dd元素包含对紧靠其前面的dt元素的说明。在一条术语有多条说明的情况下,每一条说明都应该包装在自己的dd元素中。它是块级元素,可以包含文本、行内元素和其他块级元素。如果说明分为多个段落,应该把它们标记为段落(p),但应该包含在一个dd中,而不是分成多个dd。一个dd元素的全部内容应该构成一条说明。
在大多数浏览器的显示结果中,dd元素相对于相关dt元素都有少许的缩进。如果dd包含有其他结构性标记代码(如段落),那么嵌套元素的默认边距将会被应用。