当前位置: 首页 > 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.zskr.cn/news/1462010.html

相关文章:

  • 一站式全案落地,让大型文旅场馆长效稳赚
  • 从航拍照片到标准地图:手把手教你根据成图比例尺(如1:500)反推航摄参数与无人机飞行方案
  • 终极指南:如何一键下载番茄小说并永久离线阅读
  • AI大模型技术书籍推荐:10本爆款书籍助你成为AI时代顶尖人才!
  • 别再硬啃论文了!用Python+Gurobi手把手实现Benders分解算法(附完整代码)
  • 从零开始DIY电脑:硬件选型、组装实战与问题排查全指南
  • 【C++sizeof与strlen】C++sizeof与strlen底层原理精讲:计算规则、指针数组特例、字符串内存坑点、笔试真题全方位复盘
  • 【毕业设计】基于Python的大学生就业分析推荐系统基于Python+数据可视化的大学生就业信息推荐系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • Node.js × 大模型:AIGC 工程化基础与异步流控总结
  • 模幂运算(Modular Exponentiation)
  • 基于ATmega328与TLC5510的DIY便携示波器设计与实现
  • Gemini 3.0前端实战指南:AI生成网页的真实能力与工作流重构
  • 学术写作新纪元!2026全流程AI写作辅助网站推荐指南
  • 如何用ESP32构建智能农业监测系统:从土壤传感器到云端可视化
  • 企业级短视频矩阵系统的底层架构演进:从工程自动化到AI流式管线
  • 3分钟快速上手:用untrunc无损修复损坏MP4视频的终极指南
  • 2026尤克里里选购攻略|4款高性价比尤克里里闭眼入推荐
  • Vibe Coding 实战复盘:从 0 到 1 做一个基金股票 AI 分析面板
  • Windows Defender彻底移除指南:如何简单快速释放系统性能
  • STM32F10x平台可用的完整3D打印固件:支持G代码运行、三轴同步运动和SD卡独立打印
  • 给无人机玩家的地物识别指南:看懂多光谱影像里的植被健康、水体污染和土壤湿度
  • 2026年北京亦庄高端置业楼盘参考:北京豪宅推荐、北京十大豪宅、北京顶级豪宅、北京二中学区房、北京大平层、北京经开区改善住宅优选盘点 - 海棠依旧大
  • 从源头制造到选型落地:2026防爆流量计实力厂家与选择建议 - 品牌推荐大师1
  • 从‘连连看’到人脸验证:图解Siamese Network核心思想,用PyTorch+MNIST带你轻松入门
  • 终极Windows窗口调整指南:如何用WindowResizer打破尺寸限制?
  • 别再让程序跑飞了!用STM32CubeMX的LL库搞定IWDG和WWDG,附赠超时时间计算器
  • # Openneuro数据集下载指南(已成功)
  • OpenCV-Python实战:手把手教你写一个颜色滑块调试器(附HSV/RGB完整代码)
  • 实战应用:不依赖claude code桌面版,在快马平台用ai生成可部署的个人博客系统
  • 电吹管新手选购攻略:3款高性价比型号实测推荐