- 剑指JavaWeb:技术详解与应用实践
- 尚硅谷教育编著
- 1198字
- 2024-07-24 13:17:45
2.3.7 列表
列表分为有序列表、无序列表和自定义列表三种,其中,有序列表就是按照字母或数字等顺序排列的列表项目。
在HTML中,使用<ol>标签来编写一个带有编号的列表。需要注意的是,<ol>标签只是定义了一个有序列表,列表中的每项内容需要使用<li>标签来表示。
无序列表与有序列表的表现形式相似,只不过无序列表是一个没有序号的列表。<ul>标签只是定义了一个无序列表,列表中的每项内容同样需要使用<li>标签来表示。
如图2-28所示,该图为我们常见的试卷截图,共有4道题,这就是有序列表的一种形式。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_32_1.jpg?sign=1739532366-xuu7GUMSnyYwQvstMMoCdDf91GIsFulk-0-95d42dc5d1d966403c6d492008c1948e)
图2-28 有序列表
下面使用<ol>标签和<li>标签实现这个有序列表。具体代码如下。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_32_2.jpg?sign=1739532366-uwlgdSwfMK6wuyuXKrcOqDjFE7LDqKu5-0-fc6f1c117a26955e6c8402f3a92d07a6)
另外,<li>标签的结束标签也可以省略,页面效果不会改变。
有序列表的type属性用于设置列表的编号类型,取值有5种,分别是1(数字)、i(小写罗马字母)、I(大写罗马字母)、a(小写字母)、A(大写字母)。其默认值为1,有序列表的编号按照选择的不同类型依次顺延,修改上述代码中<ol>标签的type属性值为i,示例代码如下。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_32_3.jpg?sign=1739532366-HW1z9truy4Mit96c3dxr3AW1gySEHYia-0-ef51f06f1027ed3cc40aadef86320ef1)
运行代码查看页面效果,修改type属性值,如图2-29所示,编号变成了小写罗马字母。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_32_4.jpg?sign=1739532366-filA3Wa5pnKTFccMhpkTXTOsPM0xTnyE-0-fb4a0211f7b980a17f4a75df4512ee1c)
图2-29 修改type属性值
无序列表也会按照<li>标签的顺序显示,只是不显示序列号,如图2-30所示。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_32_5.jpg?sign=1739532366-p5EtNVWt5YZHj1Eayk2o4lxytvLsU7rw-0-9dbfe3f35d3ebf7d87187aaa17d7e852)
图2-30 无序列表
下面使用<ul>标签和<li>标签实现这个无序列表。具体代码如下。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_32_6.jpg?sign=1739532366-WuCyW89fxyfOWAEFlaCnzyiaWxBV0oaR-0-6dda57da999be1d3e3bac02414b3129d)
无序列表的type 属性有4 种取值,分别是disc(实心圆)、circle(空心圆)、square(实心正方形)、none(取消前缀)。其默认值为disc,分别演示剩余的三种情况,如图2-31、图2-32和图2-33所示。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_33_1.jpg?sign=1739532366-qR5K1V4afclfxwcxpbqOFID0EkPwmSeI-0-5f96fcf2158ad4f1faa497f11b0585f9)
图2-31 type属性值为circle
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_33_2.jpg?sign=1739532366-UVh5prJzqjUG7wuqFD7FahN6swg5O3FH-0-53e7596b6fce04c0ac319f6aec318d2e)
图2-32 type属性值为square
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_33_3.jpg?sign=1739532366-wrJtLniQO9hxAe0WBWOMQgHBt2IDuVSs-0-187e36ba7c902d05e5c9014b92eea6bf)
图2-33 type属性值为none
不管是有序列表还是无序列表,其中的<li>标签都可以嵌套有序、无序列表或其他标签。比如,<li>标签中可以嵌套超链接或者另一个无序列表,示例代码如下。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_33_4.jpg?sign=1739532366-ohOnKfNMIViNTS3jkOwejlwkUyONOsiO-0-f58b906a50d7a9d41d48477eb2b0d6e9)
运行代码查看效果,列表嵌套如图2-34所示。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_33_5.jpg?sign=1739532366-gnGD4eBuLLPSY6yDiF8UauRSsp9igfEP-0-d0f6acf3782349b6e688eb98349b6acb)
图2-34 列表嵌套
代码中使用<ul>标签定义了无序列表,在其内部使用两个<li>标签。<li>标签内分别嵌套了<a>标签和新的<ul>标签,从而展示了2级列表的效果。
这里,读者可能会对什么时候使用有序列表或者无序列表产生疑惑。实际上如果改变列表中<li>标签的顺序,会使得这个列表对应的意义发生改变,那么应该使用<ol>标签;如果更改之后意义没有发生改变,那么使用<ul>标签更为合适。
另外,如果需要定义列表包含着一系列标题或者说明的组合,还可以使用自定义列表来实现。自定义列表需要使用三个标签,分别是<dl>标签、<dt>标签和<dd>标签,具体如下。
● <dl>标签:用来定义一个自定义列表。
● <dt>标签:用来定义自定义列表中的标题。
● <dd>标签:用来定义自定义列表中的说明。
下面通过一个案例来演示这三种标签的使用,示例代码如下。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_34_1.jpg?sign=1739532366-qpDqFvcCOQzMTU1Iy4n3Kpzt4LZ2qvDh-0-14047e1e00608316086d8850dcffeda2)
从代码中可以看出,<dl>标签相当于有序列表的<ol>标签,用来定义列表;<dt>标签用来定义标题“苹果”;<dd>标签用来定义说明“蔷薇科苹果属植物”和“苹果的功效:益胃……”。运行代码查看效果,如图2-35所示。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_34_2.jpg?sign=1739532366-KqlYwL7BGb6USghDXsxdjVswA6rIQc5B-0-333333c6ad1b77c45e88c9b5c9459661)
图2-35 自定义列表
其实每个自定义列表中可以有一个或多个<dt>标签,以及一个或多个<dd>标签。示例代码如下。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_34_3.jpg?sign=1739532366-bWWLyazbvj9HQacV2hbcvq3emzdPBPND-0-d59bfeef052802cb1f5430660208c688)
代码中使用<dt>标签定义了两个标题,苹果和香蕉。并对应配以说明,运行代码查看效果,如图2-36所示。
![](https://epubservercos.yuewen.com/B84C2D/30120995704540106/epubprivate/OEBPS/Images/48021_34_4.jpg?sign=1739532366-njxJImJBbqK74qeev56hdZT2BvPqtRsP-0-8fe3c410c5a2499ae06d07edbf055b82)
图2-36 自定义列表中包含多个<dl>标签和<dd>标签