如何在 HTML 中创建一个有序列表和无序列表,它们的语义有何不同?

大白话如何在 HTML 中创建一个有序列表和无序列表,它们的语义有何不同?

1. HTML 中有序列表和无序列表的基本概念

在 HTML 里,列表是一种用来组织信息的方式。有序列表就是带有编号的列表,它可以让内容按照一定的顺序呈现;无序列表则是用符号(像圆点、方块等)来标记每一项内容,重点在于展示并列的信息,不强调顺序。

2. 创建无序列表

无序列表使用 <ul> 标签来创建,每一项内容用 <li> 标签包裹。下面是具体的代码示例,代码里有详细注释:

html 复制代码
<!DOCTYPE html> <!-- 声明文档类型为 HTML5 -->
<html lang="en"> <!-- 设定 HTML 文档的语言为英语 -->

<head>
    <meta charset="UTF-8"> <!-- 设置字符编码为 UTF-8 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 适配不同设备的视口设置 -->
    <title>无序列表示例</title> <!-- 设置网页标题 -->
</head>

<body>
    <!-- 创建一个无序列表 -->
    <ul>
        <!-- 列表的第一项 -->
        <li>苹果</li>
        <!-- 列表的第二项 -->
        <li>香蕉</li>
        <!-- 列表的第三项 -->
        <li>橙子</li>
    </ul>
</body>

</html>

在这个示例中,<ul> 标签就像是一个容器,把所有的列表项都装在里面。每个 <li> 标签代表列表中的一项,浏览器会默认用圆点来标记这些项。

3. 创建有序列表

有序列表使用 <ol> 标签来创建,同样每一项内容用 <li> 标签包裹。以下是带有注释的代码示例:

html 复制代码
<!DOCTYPE html> <!-- 声明文档类型为 HTML5 -->
<html lang="en"> <!-- 设定 HTML 文档的语言为英语 -->

<head>
    <meta charset="UTF-8"> <!-- 设置字符编码为 UTF-8 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 适配不同设备的视口设置 -->
    <title>有序列表示例</title> <!-- 设置网页标题 -->
</head>

<body>
    <!-- 创建一个有序列表 -->
    <ol>
        <!-- 列表的第一项 -->
        <li>起床</li>
        <!-- 列表的第二项 -->
        <li>刷牙洗脸</li>
        <!-- 列表的第三项 -->
        <li>吃早餐</li>
    </ol>
</body>

</html>

这里的 <ol> 标签也是一个容器,不过浏览器会自动给每个 <li> 标签内的内容加上编号,从 1 开始依次递增。

4. 有序列表和无序列表的语义差异

  • 无序列表:适合用来展示那些没有先后顺序关系的内容,比如水果的种类、书籍的清单等。它主要是把相关的信息并列在一起,不强调顺序。
  • 有序列表:适合用来展示有先后顺序或者步骤性的内容,像任务的执行步骤、事件的发生顺序等。它能让读者清晰地知道每个步骤的先后关系。

总结来说,有序列表和无序列表虽然都是用来组织信息的,但根据内容的特点和需要表达的逻辑,要选择合适的列表类型。

如何在网页中嵌套有序列表和无序列表?

在网页中嵌套有序列表和无序列表可以让内容的层次更加清晰。下面为你展示具体的操作方法以及示例代码。

嵌套规则

在 HTML 里,你能够在 <ul>(无序列表)或者 <ol>(有序列表)标签里嵌套另一种列表标签,也就是在无序列表中嵌套有序列表,或者在有序列表中嵌套无序列表。要保证每一个嵌套的列表都处于一个 <li>(列表项)标签内部,这样就能确保列表结构的正确性。

示例代码

html 复制代码
<!DOCTYPE html> <!-- 声明文档类型为 HTML5 -->
<html lang="en"> <!-- 设定 HTML 文档的语言为英语 -->

<head>
    <meta charset="UTF-8"> <!-- 设置字符编码为 UTF-8 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 适配不同设备的视口设置 -->
    <title>嵌套列表示例</title> <!-- 设置网页标题 -->
</head>

<body>
    <!-- 创建一个有序列表 -->
    <ol>
        <!-- 有序列表的第一项 -->
        <li>学习编程的步骤
            <!-- 在第一项中嵌套一个无序列表 -->
            <ul>
                <!-- 无序列表的第一项 -->
                <li>选择编程语言</li>
                <!-- 无序列表的第二项 -->
                <li>学习基础语法</li>
                <!-- 无序列表的第三项 -->
                <li>做一些小项目练习</li>
            </ul>
        </li>
        <!-- 有序列表的第二项 -->
        <li>选择编程语言的考虑因素
            <!-- 在第二项中嵌套一个无序列表 -->
            <ul>
                <!-- 无序列表的第一项 -->
                <li>应用场景</li>
                <!-- 无序列表的第二项 -->
                <li>学习难度</li>
                <!-- 无序列表的第三项 -->
                <li>就业前景</li>
            </ul>
        </li>
    </ol>
    <!-- 创建一个无序列表 -->
    <ul>
        <!-- 无序列表的第一项 -->
        <li>水果
            <!-- 在第一项中嵌套一个有序列表 -->
            <ol>
                <!-- 有序列表的第一项 -->
                <li>苹果</li>
                <!-- 有序列表的第二项 -->
                <li>香蕉</li>
                <!-- 有序列表的第三项 -->
                <li>橙子</li>
            </ol>
        </li>
        <!-- 无序列表的第二项 -->
        <li>蔬菜
            <!-- 在第二项中嵌套一个有序列表 -->
            <ol>
                <!-- 有序列表的第一项 -->
                <li>胡萝卜</li>
                <!-- 有序列表的第二项 -->
                <li>西兰花</li>
                <!-- 有序列表的第三项 -->
                <li>菠菜</li>
            </ol>
        </li>
    </ul>
</body>

</html>    

代码解释

  • 有序列表嵌套无序列表 :在第一个 <ol> 标签创建的有序列表里,每个 <li> 标签代表一个步骤。在部分 <li> 标签内,又嵌套了 <ul> 标签来列出与该步骤相关的具体内容。
  • 无序列表嵌套有序列表 :在 <ul> 标签创建的无序列表中,每个 <li> 标签代表一个类别。在部分 <li> 标签内,嵌套了 <ol> 标签来按顺序列出该类别下的具体内容。

通过这样的嵌套操作,能够让网页上的信息层次更加清晰,便于用户理解内容之间的关系。

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大3 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师3 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端