news 2026/5/8 2:14:30

HTML 5列表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HTML 5列表

HTML5 列表 (Lists) 学习笔记

列表是网页中组织信息、展示步骤、导航菜单和数据项的核心结构。HTML5 提供了三种主要的列表类型,每种都有其特定的语义和用途。正确使用列表不仅能美化页面,还能显著提升SEO(搜索引擎优化)和无障碍访问(Accessibility)体验。


1. 无序列表 (Unordered List)

标签<ul>+<li>
用途:展示没有特定顺序的项目集合(如购物清单、功能列表、导航菜单)。
默认样式:项目前通常显示为实心圆点(disc)。

1.1 基本语法

<ul><li>HTML5</li><li>CSS3</li><li>JavaScript</li></ul>

1.2 自定义标记样式 (list-style-type)

通过 CSS 可以改变列表项前的标记符号:

ul{list-style-type:square;/* 实心方块 */}ul.circle{list-style-type:circle;/* 空心圆圈 */}ul.none{list-style-type:none;/* 无标记 (常用于导航菜单) */}

1.3 最佳实践

  • 导航菜单:通常使用<ul>配合list-style-type: none和 Flexbox/Grid 布局。
  • 语义化:即使没有顺序,也要用列表,不要用<div>堆砌。

2. 有序列表 (Ordered List)

标签<ol>+<li>
用途:展示有顺序、有步骤的项目(如食谱步骤、排行榜、操作指南)。
默认样式:项目前显示数字(1, 2, 3…)。

2.1 基本语法

<ol><li>打开浏览器</li><li>输入网址</li><li>按回车键</li></ol>

2.2 自定义编号 (typestart)

HTML5 属性(部分属性在 CSS 中控制更佳,但 HTML 属性仍可用):

  • type: 定义编号格式。
    • 1(默认): 阿拉伯数字 (1, 2, 3)
    • A: 大写字母 (A, B, C)
    • a: 小写字母 (a, b, c)
    • I: 大写罗马数字 (I, II, III)
    • i: 小写罗马数字 (i, ii, iii)
  • start: 定义起始数字。
<!-- 从 5 开始,使用大写罗马数字 --><oltype="I"start="5"><li>第五步</li><li>第六步</li></ol>

2.3 重置编号 (value)

在列表中间,可以强制改变某个<li>的编号:

<ol><li>第一步</li><li>第二步</li><livalue="10">第十步 (强制跳变)</li><li>第十一步</li></ol>

2.4 最佳实践

  • 步骤指南:必须使用<ol>,因为顺序对理解内容至关重要。
  • CSS 控制:现代开发中,更推荐用 CSS 的list-style-type来改变样式,而不是 HTML 属性,以保持结构与表现分离。

3. 定义列表 (Definition List)

标签<dl>+<dt>+<dd>
用途:展示术语及其定义(如词典、FAQ 常见问题、元数据键值对)。
结构

  • <dl>: 列表容器。
  • <dt>:定义术语(Definition Term),通常是加粗的关键词。
  • <dd>:定义描述(Definition Description),对术语的解释。

3.1 基本语法

<dl><dt>HTML</dt><dd>超文本标记语言,用于构建网页结构。</dd><dt>CSS</dt><dd>层叠样式表,用于控制网页样式。</dd><dt>JavaScript</dt><dd>一种脚本语言,用于实现网页交互。</dd></dl>

3.2 一对多与多对一

  • 一个术语对应多个描述
    <dl><dt>苹果</dt><dd>一种水果。</dd><dd>一家科技公司。</dd></dl>
  • 多个术语对应一个描述
    <dl><dt>JS</dt><dt>JavaScript</dt><dd>同一种编程语言。</dd></dl>

3.3 最佳实践

  • FAQ 页面<dt>是问题,<dd>是答案。
  • 元数据展示:如“作者:张三”、“日期:2023-10-01”。
  • 无障碍:屏幕阅读器会明确朗读“术语”和“描述”的关系,比用<div><p>好得多。

4. 列表的嵌套 (Nested Lists)

列表可以无限嵌套,用于展示层级结构(如目录、多级导航)。

4.1 示例

<ul><li>水果<ul><li>苹果<ul><li>红富士</li><li>青苹果</li></ul></li><li>香蕉</li></ul></li><li>蔬菜<ol><li>白菜</li><li>萝卜</li></ol></li></ul>
  • 注意:嵌套的列表必须直接放在<li>标签内,不能放在<ul><ol>的直接子级(除了<li>)。

5. CSS 美化与布局技巧

5.1 移除默认样式 (Reset)

ul, ol, dl{list-style:none;/* 移除所有标记 */padding:0;margin:0;}

5.2 自定义图标 (使用伪元素)

list-style-type不够用时,可以用 CSS 伪元素添加自定义图标:

ul.custom-icons li{position:relative;padding-left:25px;list-style:none;}ul.custom-icons li::before{content:"✓";/* 或 url('icon.png') */position:absolute;left:0;color:green;font-weight:bold;}

5.3 水平导航菜单

利用display: flexdisplay: inline-block将垂直列表变为水平:

.nav-list{display:flex;list-style:none;gap:20px;/* 间距 */}.nav-list li a{text-decoration:none;color:#333;}

5.4 定义列表的样式

dl{display:grid;grid-template-columns:150px 1fr;/* 左侧术语,右侧描述 */gap:10px;}dt{font-weight:bold;color:#555;}dd{margin:0;color:#333;}

6. 常见误区与注意事项

  1. 不要用列表做布局

    • 虽然列表可以嵌套,但不要试图用列表来构建整个页面的网格布局(如侧边栏 + 内容区)。应使用FlexboxGrid
    • 列表仅用于内容项的集合。
  2. <li>不能直接包含块级元素?

    • 错误观念<li>只能包含文本。
    • 事实<li>可以包含任何流内容,包括<div>,<p>,<img>, 甚至另一个<ul>
    • 示例
    <li><divclass="card"><imgsrc="..."alt="..."><h3>标题</h3><p>描述</p></div></li>
  3. 忘记<dt><dd>的配对

    • <dl>中必须成对出现<dt><dd>。不能只有<dt>没有<dd>,也不能只有<dd>没有<dt>
  4. 滥用type属性

    • 在 HTML5 中,尽量用 CSS 控制列表样式,HTML 的type属性主要用于简单的语义表达,复杂样式应交给 CSS。

7. 总结对比表

特性无序列表 (<ul>)有序列表 (<ol>)定义列表 (<dl>)
用途无顺序的集合有顺序的步骤/排名术语与定义
子标签<li><li><dt>,<dd>
默认标记圆点 (disc)数字 (1, 2, 3)无 (通常缩进)
语义重点集合关系顺序关系解释关系
典型场景导航菜单、功能点教程步骤、排行榜FAQ、词典、元数据
CSS 重置list-style: nonelist-style: none需自定义 Grid/Flex

8. 实战代码示例:FAQ 页面

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><title>常见问题</title><style>dl{max-width:600px;margin:20px auto;}dt{font-weight:bold;color:#007bff;margin-top:15px;}dd{margin-left:20px;color:#555;line-height:1.6;}</style></head><body><h1>常见问题解答 (FAQ)</h1><dl><dt>什么是 HTML5?</dt><dd>HTML5 是超文本标记语言的第五个版本,引入了语义化标签、多媒体支持和离线存储等新特性。</dd><dt>如何学习 CSS?</dt><dd>建议从盒模型、选择器和布局(Flexbox/Grid)开始,多动手实践。</dd><dt>JavaScript 难学吗?</dt><dd>对于初学者来说,JavaScript 是动态语言,逻辑性强,但掌握基础语法后,通过项目练习可以快速上手。</dd></dl></body></html>

掌握这三种列表,你就掌握了网页内容组织的基石。记住:选对列表类型,代码更语义,体验更友好。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 8:13:17

零基础玩转CYBER-VISION:手把手教你搭建未来科技风目标分割系统

零基础玩转CYBER-VISION&#xff1a;手把手教你搭建未来科技风目标分割系统 1. 认识CYBER-VISION&#xff1a;助盲眼镜的黑科技大脑 想象一下&#xff0c;视障朋友戴上智能眼镜后&#xff0c;眼前的世界不再是一片模糊&#xff0c;而是被清晰标注出道路、障碍物和关键目标的增…

作者头像 李华
网站建设 2026/4/10 8:10:17

在Windows系统上从零开始部署UNIT-00模型实战教程

在Windows系统上从零开始部署UNIT-00模型实战教程 如果你是一位Windows用户&#xff0c;对最近火热的UNIT-00模型很感兴趣&#xff0c;想在自己的电脑上跑起来试试&#xff0c;但看到一堆Linux命令和Docker配置就头疼&#xff0c;那么这篇教程就是为你准备的。我们将完全在Win…

作者头像 李华
网站建设 2026/4/10 8:04:34

GLM-4.1V-9B-Base实操手册:图片清晰度/提问方式/单轮分析最佳实践

GLM-4.1V-9B-Base实操手册&#xff1a;图片清晰度/提问方式/单轮分析最佳实践 1. 认识GLM-4.1V-9B-Base GLM-4.1V-9B-Base是智谱开源的一款视觉多模态理解模型&#xff0c;专门用于处理图像内容识别、场景描述、目标问答和中文视觉理解任务。与普通聊天模型不同&#xff0c;它…

作者头像 李华
网站建设 2026/4/10 8:03:32

无需越狱!Cowabunga Lite让iOS 15+设备个性化定制变得如此简单

无需越狱&#xff01;Cowabunga Lite让iOS 15设备个性化定制变得如此简单 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite Cowabunga Lite是一款专为iOS 15及以上系统设计的非越狱个性化定制工…

作者头像 李华
网站建设 2026/4/10 8:01:33

Pi0具身智能v1开发实战:GitHub协作开发全流程

Pi0具身智能v1开发实战&#xff1a;GitHub协作开发全流程 1. 引言 如果你正在参与Pi0具身智能v1项目的开发&#xff0c;或者准备加入这个开源项目&#xff0c;那么掌握GitHub协作开发流程是必不可少的技能。无论是修复一个小的bug&#xff0c;还是贡献一个重要的功能&#xf…

作者头像 李华
网站建设 2026/4/10 8:01:25

千问3.5-2B图文理解参数详解:max_new_tokens=192对响应完整性的影响实测

千问3.5-2B图文理解参数详解&#xff1a;max_new_tokens192对响应完整性的影响实测 1. 理解max_new_tokens参数 1.1 参数定义与作用 max_new_tokens是控制模型生成文本长度的关键参数&#xff0c;它决定了模型在响应时可以输出的最大token数量。在千问3.5-2B这样的视觉语言模…

作者头像 李华