语义化导航应使用结构,图标用inline SVG并设stroke/fill为currentColor,清除列表默认样式,链接用flex布局对齐,hover和active态需同步控制文字与图标颜色。

用 +
搭建语义化结构
直接套用无序列表是最稳妥的起点, 关键点: 用 示例片段: 注意: 默认 推荐最小化样式: 常见错误:hover 时整个 正确做法: 暗色模式兼容提示:如果项目已用 真正麻烦的是图标语义一致性——比如“设置”用齿轮,“用户”用头像,这些得团队对齐,代码再简洁也救不了设计混乱。 告诉浏览器这是导航区域,对可访问性和 SEO 都有帮助。不要用
作为容器,每个 是一个菜单项 必须包裹文字(或图标+文字),不能只放图标——否则键盘 Tab 焦点会丢失,且部分屏幕阅读器无法识别可操作目标图标用 inline SVG 而不是 CSS background-image
background-image 加图标,后续想改颜色、适配暗色模式、或者加 hover 动画时,得额外写 class 或 JS 控制伪元素,非常绕。inline SVG 直接写在 里,一行就能调色:fill: currentColor,自动继承文字颜色。stroke="currentColor" 和 fill="currentColor" 是关键,这样 hover 改文字色时图标自动同步。纵向布局靠
flex-direction: column + 基础重置 有 padding-left 和 list-style,必须清掉,否则图标和文字不对齐、左侧留白难控制。
设 list-style: none、padding: 0、margin: 0
设 margin: 0(不用 margin-bottom,避免最后一个多余间距) 设 display: flex、align-items: center、gap: 12px,图标和文字自动居中对齐min-height: 48px(适合手指点击),别只设 height,防止文字换行撑开选中态和 hover 不要用纯背景色覆盖图标
背景变蓝,但 SVG 图标没加 fill 覆盖,结果图标变黑(继承父级 text color)或消失(被背景吞掉)。
color 和 background-color
fill 继承自 currentColor,这样改文字色就等于改图标色.active)建议加左 border:border-left: 3px solid #007bff,比背景高亮更轻量,也不影响图标可读性@media (prefers-color-scheme: dark),记得同步调整 color 和 background-color,SVG 会自动跟着变。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











