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

第09篇:列表三种形态

第09篇:列表三种形态

列表是网页中最常用的信息组织方式之一。HTML 提供了三种列表类型,分别适用于不同的场景。掌握它们,让你的内容结构清晰、层次分明。


学习目标

  • 掌握无序列表ul、有序列表ol、定义列表dl的用法
  • 学会嵌套列表构建层级结构
  • 理解oltypestartreversed属性
  • 能够根据内容语义选择正确的列表类型
  • 了解列表的默认样式及语义化注意事项

核心知识点

一、无序列表:ul+li

无序列表(Unordered List)用于表示无顺序关系的项目集合,每个项目前有一个默认的项目符号(通常是圆点)。

<ul><li>HTML</li><li>CSS</li><li>JavaScript</li></ul>
默认渲染效果
• HTML • CSS • JavaScript
ul的适用场景
  • 导航菜单项
  • 功能特性列表
  • 商品规格项
  • 任何不强调顺序的项目集合

二、有序列表:ol+li

有序列表(Ordered List)用于表示有顺序关系的项目集合,每个项目前有数字或字母编号。

<ol><li>准备食材</li><li>清洗处理</li><li>烹饪加工</li><li>装盘上桌</li></ol>
默认渲染效果
1. 准备食材 2. 清洗处理 3. 烹饪加工 4. 装盘上桌
ol的专属属性
属性作用示例效果
type编号类型type="A"A. B. C.
start起始编号start="5"5. 6. 7.
reversed倒序编号reversed4. 3. 2. 1.
<!-- 大写字母编号 --><oltype="A"><li>选项一</li><li>选项二</li></ol><!-- 从第 5 项开始 --><olstart="5"><li>第五条</li><li>第六条</li></ol><!-- 倒序排列 --><olreversed><li>第一名</li><li>第二名</li><li>第三名</li></ol>
type取值
编号样式示例
1阿拉伯数字(默认)1. 2. 3.
A大写字母A. B. C.
a小写字母a. b. c.
I大写罗马数字I. II. III.
i小写罗马数字i. ii. iii.

⚠️注意:虽然type属性可以控制编号样式,但现代前端开发更推荐使用CSSlist-style-type来控制视觉效果,HTML 的type仅作为语义补充。


三、定义列表:dl+dt+dd

定义列表(Definition List)用于表示术语-定义的键值对关系。

<dl><dt>HTML</dt><dd>超文本标记语言,用于创建网页的标准语言。</dd><dt>CSS</dt><dd>层叠样式表,用于描述网页的外观和格式。</dd><dt>JavaScript</dt><dd>一种脚本语言,用于实现网页的交互和动态效果。</dd></dl>
默认渲染效果
HTML 超文本标记语言,用于创建网页的标准语言。 CSS 层叠样式表,用于描述网页的外观和格式。 JavaScript 一种脚本语言,用于实现网页的交互和动态效果。
dl的组成
标签含义类比
dlDefinition List(定义列表)整个字典
dtDefinition Term(定义术语)词条(如"HTML")
ddDefinition Description(定义描述)词条解释
dl的适用场景
  • 术语表 / 词汇表
  • 元数据展示(作者、日期、分类)
  • FAQ(问题-答案)
  • 产品参数(属性-值)
<!-- FAQ 示例 --><dl><dt>什么是 HTML?</dt><dd>HTML 是超文本标记语言,是网页的骨架。</dd><dt>学习 HTML 需要什么基础?</dt><dd>不需要编程基础,只需要一台电脑和一颗好奇的心。</dd></dl>
一个dt可以对应多个dd
<dl><dt>作者</dt><dd>张三</dd><dd>李四</dd><dd>王五</dd></dl>

四、嵌套列表

列表可以嵌套在其他列表项中,构建层级结构。

<ul><li>前端开发<ul><li>HTML</li><li>CSS<ul><li>Flexbox</li><li>Grid</li></ul></li><li>JavaScript</li></ul></li><li>后端开发<ul><li>Node.js</li><li>Python</li></ul></li></ul>
嵌套列表的注意事项
  • 嵌套的列表必须是外层li的子元素
  • 嵌套列表通常会有不同的缩进和项目符号样式
  • ul里可以嵌套olol里也可以嵌套ul
<!-- ✅ 正确:嵌套列表在 li 内部 --><ul><li>水果<ul><li>苹果</li><li>香蕉</li></ul></li></ul><!-- ❌ 错误:嵌套列表在 li 外面 --><ul><li>水果</li><ul><li>苹果</li></ul></ul>

五、三种列表选择指南

要展示一组项目? │ ├── 有明确的顺序/排名? │ └── → ol(有序列表) │ 步骤说明、排行榜、操作顺序 │ ├── 是术语-定义的关系? │ └── → dl(定义列表) │ 词汇表、FAQ、产品参数、元数据 │ └── 无顺序,只是项目集合? └── → ul(无序列表) 导航菜单、功能列表、商品特性
选择对比示例
内容列表类型原因
制作蛋糕的步骤ol有先后顺序
网站导航菜单ul无顺序关系
技术词汇表dl术语-定义关系
产品功能列表ul功能之间无顺序
比赛排名ol有排名顺序
产品规格参数dl属性-值键值对

六、列表的默认样式与 CSS

浏览器默认样式
/* ul 默认样式 */ul{list-style-type:disc;/* 实心圆点 */padding-left:40px;/* 左侧缩进 */}/* ol 默认样式 */ol{list-style-type:decimal;/* 阿拉伯数字 */padding-left:40px;}/* dl 默认样式 */dl{margin:1em 0;}dd{margin-left:40px;/* dd 默认有左缩进 */}
常见 CSS 列表样式(了解即可)
/* 去掉列表符号 */ul{list-style:none;padding:0;}/* 改变符号样式 */ul{list-style-type:square;/* 方块 *//* 其他:circle(空心圆)、disc(实心圆,默认) */}

💡 第15篇会详细学习 HTML5 语义化导航,其中nav包裹的ul是最常见的导航结构。


动手练习

练习 1:列表类型辨析

判断以下场景应该用哪种列表,并说明理由:

场景列表类型理由
一份沙拉的食材清单
注册账号的操作步骤
编程语言术语表
月度销售排行榜
网站页脚的服务链接
产品详细规格(重量、尺寸、颜色)

练习 2:制作目录结构

用嵌套列表展示你的电脑桌面文件夹结构:

  • 使用无序列表ul
  • 至少包含 3 层嵌套
  • 包含文件夹和文件两种类型
  • 合理命名,结构清晰

练习 3:创建食谱页面

创建一个食谱页面,综合运用三种列表:

  • ol展示制作步骤(有顺序)
  • ul展示所需食材(无顺序)
  • dl展示营养信息(术语-定义)
  • 每个列表至少包含 5 项
  • 整体结构用h1(食谱名)+h2(各区块标题)组织

常见误区 ⚠️

误区真相
“用brp模拟列表”列表有语义价值,不要用换行或段落冒充列表
“嵌套列表可以放在li外面”嵌套列表必须是li的直接子元素或后代元素
dl只能用于字典/词汇表”dl适合任何键值对关系:FAQ、产品参数、元数据等
oltype是最佳编号控制方式”样式控制优先用 CSSlist-style-type,HTMLtype仅做语义补充
“列表里只能放文字”lidd中可以放任何流式内容:段落、图片、链接、甚至其他列表
ulol可以混用嵌套”可以!ul里可以嵌套olol里也可以嵌套ul
dldtdd必须一对一”一个dt可以对应多个dd,也可以多个dt对应一个dd

速查卡片 📋

三种列表对比

类型标签用途默认外观
无序列表ul+li无顺序的项目• 圆点
有序列表ol+li有顺序的项目1. 数字
定义列表dl+dt+dd术语-定义缩进描述

列表选择速查

有顺序? → ol 键值对? → dl 其他 → ul

ol属性速查

属性示例效果
type="1"type="A"A. B. C.
type="a"type="i"i. ii. iii.
start="5"从 5 开始
reversed倒序

嵌套列表结构

<ul><li>父级项<ul><!-- 嵌套列表必须在 li 内部 --><li>子级项</li></ul></li></ul>

dl多对多关系

<dl><dt>术语A</dt><dd>定义1</dd><dd>定义2</dd><!-- 一个 dt 对应多个 dd --><dt>术语B</dt><dt>术语C</dt><!-- 多个 dt 对应一个 dd --><dd>共同定义</dd></dl>

列表使用 checklist

  • 根据内容语义选择ul/ol/dl
  • 嵌套列表放在li内部
  • 不要仅用列表符号做装饰,语义优先
  • dl考虑用于 FAQ、产品参数、元数据等场景

扩展阅读

  • MDN:
    • 元素
  • MDN:
    1. 元素
  • MDN:
    元素
  • MDN:
  • 元素

📌下一步:列表组织了信息的层级。进入 第10篇:表格基础与结构,学习用表格展示二维数据。

http://www.jsqmd.com/news/950471/

相关文章:

  • 从航拍照片到标准地图:手把手教你根据成图比例尺(如1:500)反推航摄参数与无人机飞行方案
  • 一站式全案落地,让大型文旅场馆长效稳赚
  • DeepSeek V4实测:不炸裂的模型如何重塑AI工程化落地
  • 为什么Python金融数据获取如此复杂?AKShare如何用一行代码解决你的量化投资难题
  • 程序员副业必存|2026 最新 19 个私活接单平台大全
  • 终极指南:如何一键下载番茄小说并永久离线阅读
  • 告别重复造轮子:用快马AI一键生成cc-connect高效开发工具集
  • AI大模型技术书籍推荐:10本爆款书籍助你成为AI时代顶尖人才!
  • 别再硬啃论文了!用Python+Gurobi手把手实现Benders分解算法(附完整代码)
  • 【C++sizeof与strlen】C++sizeof与strlen底层原理精讲:计算规则、指针数组特例、字符串内存坑点、笔试真题全方位复盘
  • 【毕业设计】基于Python的大学生就业分析推荐系统基于Python+数据可视化的大学生就业信息推荐系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 10分钟搭建专业问卷系统:卷王开源问卷系统完全指南
  • QrazyBox:5步修复损坏二维码的专业工具指南
  • KS-Downloader:终极快手无水印视频批量下载解决方案
  • 告别重复输入:用快马平台的Codex重连功能,将开发效率提升一倍
  • Node.js × 大模型:AIGC 工程化基础与异步流控总结
  • 从零开始DIY电脑:硬件选型、组装实战与问题排查全指南
  • 终极指南:如何在Vue项目中快速集成可视化流程设计器
  • 模幂运算(Modular Exponentiation)
  • Matlab多元线性回归建模工具:带示例数据、自动拟合与可视化结果(含残差图和预测对比)
  • Gemini 3.0前端实战指南:AI生成网页的真实能力与工作流重构
  • 基于ATmega328与TLC5510的DIY便携示波器设计与实现
  • 别再手动搭机器人了!用Webots PROTO功能5分钟复用你的模型
  • WinCC数据归档避坑指南:解决OnlineTableControl自动导出CSV时控件‘假死’与重启问题
  • 终极指南:如何用开源工具彻底解决Dell G15笔记本过热问题
  • FSearch:高性能Linux文件搜索工具的终极指南
  • 学术写作新纪元!2026全流程AI写作辅助网站推荐指南
  • 极空间NAS只能存照片?我用Docker把它变成了童年游戏机,出门在外也能打马里奥
  • 2026年AI行业大事件盘点:MonkeyCode见证的10个历史性时刻
  • 如何用ESP32构建智能农业监测系统:从土壤传感器到云端可视化