当前位置: 首页 > article >正文

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

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

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

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

2. 创建无序列表

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

<!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> 标签包裹。以下是带有注释的代码示例:

<!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>(列表项)标签内部,这样就能确保列表结构的正确性。

示例代码

<!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> 标签来按顺序列出该类别下的具体内容。

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


http://www.kler.cn/a/596151.html

相关文章:

  • ESP32-C6助力设备互联互通,Wi-Fi6无线通信方案,物联网交互联动
  • 卸载conda,poetry常用命令,vscode使用poetry虚拟环境
  • EmbodiedSAM:在线实时3D实例分割,利用视觉基础模型实现高效场景理解
  • AWS大数据解决方案实战解析:如何以低成本驱动企业数据智能升级
  • 电脑磁盘分盘
  • 大模型微调之早停(Early Stopping)
  • 避坑指南 | 阿里云服务器centos7上MySQL部署优化指南
  • 阶跃星辰开源300亿参数视频模型Step-Video-TI2V:运动可控+102帧长视频生成
  • 量化研究---可转债量化交易系统上线快速服务器
  • 003-掌控命令行-CLI11-C++开源库108杰
  • Spring Boot 中的 @ConditionalOnBean 注解详解
  • 第一次烧录51单片机的烧录不了的问题
  • 验证码设计与前端安全:实现方式、挑战与未来发展趋势深度分析
  • 架构师面试(十九):IM 架构
  • [leetcode]864. 获取所有钥匙的最短路径(状态压缩bitmask+bfs)
  • 从两层 C/S 到 B/S 架构演进分析:技术驱动与业务需求的辩证关系
  • 归并排序的思路与实现
  • 卷积神经网络Batch Normalization的作用
  • 体育直播视频源格式解析:M3U8 vs FLV
  • LeetCode215. 数组中的第K个最大元素