跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

怎样创建有序与无序列表_UL和OL标签展示结构化信息

必须用ol而非ul当内容顺序改变会改变语义,如安装流程、法律条文、食谱步骤;导航菜单有路径优先级时也应用ol,纯并列则用ul。 该用
ul
还是
ol
,不看“要不要编号”,而看内容换顺序会不会改变意思。 什么时候必须用
ol
,而不是靠 CSS 加个数字 浏览器给
ol
加编号只是副作用,真正起作用的是语义:屏幕阅读器会读出“第1项、第2项”,搜索引擎会理解这是步骤或条款序列。 安装流程、法律条文、食谱步骤、搜索结果排名 → 必须用
ol
导航菜单是否要用
ol
?取决于逻辑:若菜单项有优先级(如“首页 > 产品 > 定价 > 联系我们”隐含路径顺序),
ol
更准确;纯并列入口则用
ul
硬套
ol
写“热门城市:北京、上海、广州”,会导致读屏器错误播报顺序,后续加
aria-
属性也难修正
ul
和
ol
嵌套时,DOM 结构错在哪一行 合法嵌套只有一种写法:
li
内直接包
ul
或
ol
。任何跳层、错位都会让浏览器自动纠错,但 DOM 已不是你写的那样。 错误写法:
  • A
    • B
→ 第二个
ul
会被浏览器移到外面,变成两个平级列表 正确写法:
  • A
    • B
→ 子列表是
li
的子节点 动态生成时(如 Vue/JSX 或模板引擎),漏掉
li
闭合或条件分支未覆盖空状态,极易产出这种结构断裂 列表符号不显示?先查这三处,别急着改 CSS 90% 的“编号消失”问题跟
list-style
无关,而是底层结构或解析异常。 检查
li
是否被设了
display: flex
或
display: grid
—— 这些值会隐式禁用列表标记,需显式加
list-style: inherit
打开开发者工具的 “Computed” 面板,看
list-style-type
最终计算值是不是
none
;如果是,往上查是否被全局 reset.css 或组件库样式覆盖 右键检查元素,确认
li
真是
ul
/
ol
的直接子节点;如果看到
ul > div > li
,说明 HTML 结构非法,浏览器已重排 DOM
start
和
type
属性现在还值得用吗 能不用就不用。它们兼容性有限、不可扩展,且和现代 CSS 方案冲突风险高。
type="A"
在 Safari 和旧版 Edge 中可能不渲染为大写字母;
type="1"
是唯一稳定值
start="5"
只对单个
ol
有效,多个连续
ol
想“续号”,必须用 CSS
counter-reset
/
counter-increment
要加前缀(如
"Step 1."
)、图标或 SVG,必须用
list-style: none
+
li::before { content: ... }
,
type
根本做不到 最常被忽略的一点:列表标签选错,不是样式问题,是语义污染——它会在无障碍测试、SEO 抓取、甚至 JS 的
querySelectorAll('ol > li')
中持续制造偏差,而且越往后改越疼。

相关文章