是语义化必需标签,替代 会导致读屏器跳过、SEO 减分、键盘导航断裂;横向布局依赖 display: flex 而非删空格或 float;当前页高亮必须用 JS 动态匹配路径,硬编码 class="active" 无法响应路由变化。

直接说结论: 是必须用的语义标签,但光写它没用;横向排列靠 display: flex,不是靠删空格或设 float;当前页高亮必须用 JS 动态判断路径,硬编码 class="active" 会崩。
为什么不能只用 替代
读屏器、搜索引擎、键盘 Tab 顺序都依赖 的语义标识。写成 ,视觉上一模一样,但辅助技术会跳过整个区域——用户按 Tab 键可能直接从 logo 跳到主内容,中间导航“消失”了。
- 多个
必须加 aria-label,比如 和
- 搜索框、登录按钮别塞进同一个
,它们该用 或
- IE8 及以下不识别
,但现代项目基本不用管;若真要兼容,加一句 document.createElement("nav") 就能补全
display: flex 布局时 gap 和 justify-content 怎么选
gap 比给每个 加 margin-right 干净得多,也避免“最后一个要不要清 margin”的纠结;justify-content: space-around 比 space-between 更适合文字长度不均的导航项——两端留白更均衡,不会出现左边挤右边空一大块。
DeepBI DHTML 页面生成器
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力:
- 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面;
- 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”;
- 提及位于 `apps/console/src/featur
下载
- 小屏下别设
white-space: nowrap,否则强制横向滚动;改用 flex-wrap: wrap + 媒体查询自然折行
- IE11 不支持
gap,得退回到 margin-right,并手动用 :last-child 清掉最后一项的 margin
- 父容器没设
display: flex,子元素再怎么设 inline-block 也会竖排——这不是 的锅,是布局漏写了
当前页高亮为什么不能写死 class="active"
HTML 静态文件无法感知当前 URL。你在一个页面里写死 @#@#@#@#@#@#@#@#@#@0,换到 /contact 页面,它还是 active——路径匹配一错(比如多一个斜杠、带哈希路由 #!/projects),就全失效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!