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

直接说结论:<nav></nav> 是必须用的语义标签,但光写它没用;横向排列靠 display: flex,不是靠删空格或设 float;当前页高亮必须用 JS 动态判断路径,硬编码 class="active" 会崩。
为什么不能只用 <div class="nav"> 替代 <code><nav></nav>
读屏器、搜索引擎、键盘 Tab 顺序都依赖 <nav></nav> 的语义标识。写成 <div class="nav">,视觉上一模一样,但辅助技术会跳过整个区域——用户按 Tab 键可能直接从 logo 跳到主内容,中间导航“消失”了。
<ul>
<li>多个 <code><nav></nav> 必须加 aria-label,比如 <nav aria-label="主导航"></nav> 和 <nav aria-label="页脚链接"></nav>
<nav></nav>,它们该用 <search></search> 或 <form></form>
<nav></nav>,但现代项目基本不用管;若真要兼容,加一句 document.createElement("nav") 就能补全
display: flex 布局时 gap 和 justify-content 怎么选
gap 比给每个 <li> 加 margin-right 干净得多,也避免“最后一个要不要清 margin”的纠结;justify-content: space-around 比 space-between 更适合文字长度不均的导航项——两端留白更均衡,不会出现左边挤右边空一大块。
生成可在 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也会竖排——这不是<nav></nav>的锅,是布局漏写了
当前页高亮为什么不能写死 class="active"
HTML 静态文件无法感知当前 URL。你在一个页面里写死 <a href="/about" class="active">关于</a>,换到 /contact 页面,它还是 active——路径匹配一错(比如多一个斜杠、带哈希路由 #!/projects),就全失效。
立即学习“前端免费学习笔记(深入)”;
- 简单前端判断逻辑(放


















