最标准写法是用 包裹 ,语义明确、浏览器默认渲染圆点且无需额外css; 表示有序列表,+手动符号破坏可访问性与语义;嵌套时子必须置于父内,确保dom结构正确。

直接说结论:用 <ul></ul> 包裹 <li> 就是最标准、最语义化、浏览器默认支持项目符号的写法,不需要额外 CSS 也能正常显示圆点。
为什么不用 <ol></ol> 或其他标签
因为 <ul></ul> 明确表示“无序”(unordered),浏览器会自动渲染为实心圆点(●),而 <ol></ol> 是有序列表,生成 1. 2. 3.;用 <div> + 手动加符号(如 •)不仅语义错误,还会破坏可访问性(屏幕阅读器无法识别为列表),且缩进、间距、换行等样式需全手动控制。
<h3>
<code><ul></ul> 和 <li> 的基本结构与常见错误
正确结构必须是 <ul></ul> 直接包含 <li>,不能中间插 <p></p> 或 <span></span>。常见错误包括:
- 把
<li>写在<ul></ul>外面(浏览器会尝试纠错,但 DOM 结构不可靠) - 嵌套层级错乱,比如
<ul><ul><li>…</li></ul></ul>(缺少外层<li>,子<ul></ul>必须放在某个<li>内部) - 用空格或
模拟缩进(应靠 CSS 的margin-left或padding-left控制)
如何微调符号样式和间距(不破坏语义)
浏览器默认圆点对多数场景够用,但若需修改,优先用 CSS 的 list-style-type 和 margin/padding,而不是替换 HTML 标签:
-
list-style-type: disc(默认)、circle、square、none(隐藏符号) - 改符号颜色需配合
list-style-image或伪元素(::marker),注意兼容性:::marker在 Safari 15.4+ 和 Chrome 98+ 支持较好 - 调整项间距用
margin-bottom作用于<li>,别碰<ul></ul>的line-height,否则可能影响多行文本对齐
真正容易被忽略的是嵌套列表的语义完整性——每个子 <ul></ul> 必须严格位于父级 <li> 内部,否则结构断裂,会影响键盘导航顺序和辅助技术解析。写完建议用浏览器开发者工具检查 DOM 层级是否闭合正确。










