应根据目标位置和部署方式选择:本地开发用相对路径,上线后页面结构固定时用绝对路径更稳妥;href="/page.html"从根目录找,href="page.html"或"../index.html"按当前文件位置找,外链必须带协议。

href 值写成相对路径还是绝对路径?
取决于你跳转的目标位置和部署方式。本地开发时用相对路径最省事,上线后如果页面结构固定、域名统一,用绝对路径更稳妥,避免跨子目录时路径错乱。
常见错误:href="./page.html" 在根目录页面能打开,但嵌套在 /blog/2024/ 下就会变成请求 /blog/2024/./page.html,实际是 /blog/2024/page.html —— 而你本意可能是根目录下的 /page.html。
- 想始终从网站根目录开始找:用
href="/page.html"(开头带/) - 想相对于当前 HTML 文件位置:用
href="page.html"或href="../assets/index.html" - 跳站外链接必须带协议:写成
href="https://example.com",只写href="example.com"会被当成当前域下的相对路径
怎么让 a 标签点击后新开窗口?
加 target="_blank" 即可,但别漏掉 rel="noopener noreferrer" —— 这不是可有可无的修饰,而是安全刚需。
不加 rel 属性时,新页面可通过 window.opener 访问原页面的 window 对象,存在被恶意页面劫持、重定向甚至窃取 cookie 的风险。
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
- 正确写法:
@#@#@#@#@#@#@#@#@#@0 - 如果只是同域内新标签页(比如后台管理页),
rel="noopener"已足够,noreferrer会额外禁用Referer头 -
target="_self"是默认行为,不用显式写;target="_parent"和target="_top"主要用在 iframe 场景
href="#top" 和 href="#" 有什么区别?
两者都滚动到页面顶部,但行为细节不同,尤其影响浏览器历史和 SPA 路由。
href="#top" 会匹配页面中 id="top" 的元素(如 <div id="top"></div>),没找到就滚到顶部;href="#" 直接滚到顶部,且每次点击都会往浏览器历史栈推一条空记录 —— 用户狂点几次后,按返回键会反复触发空白跳转。
- 要平滑滚动到顶部:用
href="#top"+ CSSscroll-behavior: smooth - 纯 JS 控制滚动时,推荐用
href="javascript:void(0)"或直接绑定 click 事件,避免干扰 history - React/Vue 等框架里,尽量别用
href="#"做按钮,容易和路由冲突或触发刷新
链接点击没反应?先查这三件事
不是代码写错,就是被其他东西拦住了。最常见的不是语法问题,而是隐性拦截。
- 检查是否被 CSS 封锁:
a { pointer-events: none; }或父级设置了该样式 - 确认没有 JS 阻止默认行为:搜索代码里有没有
event.preventDefault()绑在a或其父元素上 - 看控制台有没有报错:比如
Failed to launch 'xxx' because the scheme does not have a registered handler,通常是href="file://..."在现代浏览器被禁用
href 的本质只是个字符串,浏览器怎么处理它,取决于值的内容、上下文环境和用户代理限制。写对只是第一步,得让它真能跑通。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










