HTML如何创建列表?ul和ol标签使用教程
2026-03-23 20:25:33
0浏览
收藏
HTML中的列表标签不仅是页面排版工具,更是传递语义、提升可访问性与协作效率的关键——正确使用``和`
`能明确表达“并列无序”或“严格有序”的真实意图,让屏幕阅读器精准播报、SEO爬虫准确理解、团队成员一目了然;而错误嵌套、滥用样式掩盖语义、在列表中混入非法元素或交互控件不补足角色声明等常见误区,不仅破坏结构完整性,更会直接损害残障用户的浏览体验。真正的专业,始于对每一个`
- `为何存在、为何被包裹的清醒认知。

怎么用
和
写出语义正确的列表
浏览器不关心你写的是 还是 ,但屏幕阅读器、SEO 爬虫和协作同事会在意。关键不是“能不能显示”,而是“是否表达了真实意图”。
无序列表 表示项目之间没有顺序依赖(比如菜单项、标签云);有序列表 表示步骤、排名或时间先后(比如安装流程、排行榜)。别因为“看着都带点/数字”就混用。
里只能直接放,不能塞或(会触发 HTML5 的隐式闭合,导致结构错乱)支持start、reversed、type属性,但type="A"在部分旧 Android WebView 中失效,慎用于关键编号逻辑- 嵌套时,子列表必须完整包裹在父
内部,而不是跟在后面——否则语义断裂,辅助技术可能跳过子项里面能写什么?哪些内容会破坏可访问性是流内容容器,合法内容很多,但常见误用是往里塞交互控件却不补语义。- 如果
里有或,且它本身承担主要操作(比如“删除这项”),建议加role="listitem"显式声明,避免某些读屏器忽略父级 - 不要用
模拟段落缩进——+ CSStext-indent更准确;用列表假装排版,会让 AT 用户听到一堆无意义的“列表项 1”“列表项 2” 不支持value属性(那是里才有的),写上去浏览器会忽略,别白费劲
CSS 重置
list-style后,序号/符号还存在吗设置
list-style: none只是隐藏视觉符号,的计数逻辑、的语义层级依然保留。这对无障碍很关键——隐藏样式 ≠ 删除语义。- 用
list-style-type: none+ 自定义伪元素(::marker)能精细控制序号样式,但::marker在 Safari 15.4 之前不支持content动态值 - 如果彻底去掉编号(比如想让
行为像),别只靠 CSS,直接改标签为——语义比样式优先 - 用
display: flex或display: grid布局时,list-style仍生效,但位置可能错位;此时需配合list-style-position: inside或伪元素手动对齐
为什么用
包裹导航链接比用更好不是因为“更标准”,而是因为导航本质是一组并列、无顺序的入口项,
天然匹配这个含义。- 屏幕阅读器遇到
结构,会主动播报“导航栏,列表,共 5 项”,用户可快速跳过整块区域;换成就只剩逐个读链接- JavaScript 操作时,
document.querySelectorAll('nav ul li')比document.querySelectorAll('nav div a')更稳定——后者容易误选图标、文字等非导航子节点- 某些 CMS 或静态站生成器(如 Jekyll 的
{% for item in site.nav %})默认输出,硬改成可能破坏模板逻辑真正容易被忽略的点:列表项之间的空格/换行在 HTML 中会被压缩成单个空格,如果用 inline-block 布局
又没处理间隙,会出现意外的空白——这不是语义问题,但会干扰视觉对齐,得用font-size: 0或注释掉换行来解决。今天关于《HTML如何创建列表?ul和ol标签使用教程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
Golang多协程写入文件怎么处理
- 上一篇
- Golang多协程写入文件怎么处理
- 下一篇
- 豌豆荚设计奖官网与网页浏览入口
- JavaScript 操作时,
查看更多最新文章-
- 文章 · 前端 | 14小时前 | js语法教程
- JSSet集合使用与去重技巧详解
- 350浏览 收藏
-
- 文章 · 前端 | 14小时前 |
- HTML5离线缓存清除方法大全
- 462浏览 收藏
-
- 文章 · 前端 | 14小时前 |
- HTML编码如何避免乱码问题
- 235浏览 收藏
-
- 文章 · 前端 | 14小时前 |
- HTMLaddress标签使用方法详解
- 309浏览 收藏
-
- 文章 · 前端 | 14小时前 |
- 发布订阅模式消息队列原理与实现解析
- 135浏览 收藏

