能跳转的多页面网页核心是a标签+正确的相对路径;href为空、协议缺失、路径与文件实际位置不符(如同级误写为子级)、file://协议下根路径无效,均导致静默失败。

能跳转的多页面网页,核心就靠 a 标签 + 正确的相对路径,其他全是锦上添花。
为什么点链接没反应?先查 href 值和文件位置
最常见的“跳不动”,不是代码写错,而是浏览器根本找不到目标文件。双击打开 HTML 时走的是 file:// 协议,不经过服务器,所有路径必须是本地可解析的相对路径。
-
href里写https://example.com或www.example.com—— 浏览器会当成外部网址,但少写https://就变成找本地叫 “www.example.com” 的文件,当然 404 -
href="page2.html"只在同级目录有效;如果当前页在pages/index.html,要跳到pages/page2.html,就得写href="page2.html";要跳回上层的index.html,就得写href="../index.html" - 图片、CSS 文件路径出错,常会连带让导航栏样式丢失,误以为是
a标签失效——先用浏览器开发者工具(F12)看 Network 面板里哪些资源标红了
a 标签怎么包图片或整块区域?别漏掉 alt
想让一张图可点击,直接把 img 塞进 a 里就行,不用 JS、不用额外容器。但 alt 属性不能省,否则屏幕阅读器无法识别这是个什么功能的链接。
<a href="page2.html">@@##@@</a>
- 不要只写
alt=""或alt="photo",得说明“点这个图能干什么” - 如果图片是纯装饰(比如背景分割线),才用空
alt="";但作为导航入口的图,必须有语义 - 想让整个卡片可点?HTML5 允许
a包含div,但注意:内部不能再有其他交互元素(如按钮、输入框),否则语义冲突
站内跳转要不要加 target="_blank"?看场景
加不加 target="_blank" 不是风格问题,是用户动线和安全问题。
- 跳转到自己网站内的其他页面(如
about.html、contact.html),**不要加**target="_blank"——用户点完还得关标签页才能回去,体验割裂 - 跳转到外部网站(如 GitHub、知乎),**必须加**
target="_blank" rel="noopener noreferrer";漏掉rel会导致新页面能通过window.opener控制原页面,存在安全隐患 - 移动端 Safari 对
target="_blank"支持不稳定,部分机型会静默忽略,所以站内导航优先走当前页跳转
从二级页回首页,为什么写 index.html 有时失效?
因为浏览器默认加载的不一定是 index.html,尤其当你双击打开的是 page2.html,当前路径就是它所在目录,此时 href="index.html" 是去找同级的 index.html;但如果项目结构是:
my-site/<br>├── index.html<br>└── pages/<br> └── page2.html
那么 pages/page2.html 里写 href="index.html" 就是在找 pages/index.html(不存在),正确写法是 href="../index.html"。
- 更稳妥的做法:所有页面都用根相对路径,即以
/开头,例如href="/index.html"—— 但仅在本地双击打开时无效(file://下不支持根路径),只有部署到服务器(http://)后才生效 - 初学者最稳的方案:统一用同级结构,三个页面都放在同一目录下,避免跨层级引用
- 路径写错不会报错,只会静默失败,所以每次新增链接后,务必手动点一遍,看地址栏变化是否符合预期

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











