幼儿园前端 #07:超链接 <a> —— 网页的“任意门”,想去哪就去哪!

64 阅读3分钟

大家好,我是[小奇腾]。欢迎来到 “幼儿园前端” 第 7 集! 昨天我们列好了“购物清单”,但是点击清单上的“苹果”,什么反应都没有。 网页最大的魅力,在于连接。点击一个按钮,跳转到百度;点击一张图片,跳转到淘宝。 实现这个功能的,就是 HTML 里最神奇的标签: <a> (Anchor) 。今天我们来造一个“传送门”

本期详细的视频教程bilibili:幼儿园前端 #07:超链接 —— 网页的“任意门”,想去哪就去哪!

一、 为什么叫 <a>

链接Link,为什么标签不叫<a>?

  • <a> = Anchor(船锚)⚓️
  • 意思是:我在我在互联网的海洋里,把锚抛到了另一个位置。点击它,船(浏览器)就会开过去
  • 注:其实 HTML 里真有 <link> 标签,但它是用来引入 CSS 的(以后讲),千万别搞混!

二、基础语法:我要去哪里?

  1. 代码演示
  • <a>标签最核心的属性只有一个href
  • 表示要去的地址
<a href="https://www.baidu.com">去百度看看</a>
  • href="..." : 这里写地址(一定要带 https://)
  • 去百度看看 : 这里的是给用户看的文字(点击这段文字就可以跳转)
  1. 空链接(占位符)

有时候我们还没想好要去哪,或者单纯想做一个按钮的效果,可以写一个 #

<a href="#">暂时哪里也不去</a>
  • 注意:点击href="#"会瞬间跳到当前页面的顶部

三、 进阶技巧:在新窗口打开 (target)

默认情况下,你点击链接,当前页面会“变”成新页面(也就是覆盖了当前页)。 但这有个大缺点:用户看完新页面,把浏览器关了,结果连你的网站也一起关了!😱

为了留住用户,我们通常希望:点击链接 -> 打开一个新的标签页

  1. target="blank"
  • target: 目标
  • _blank: 空白页
  • 含义:在新的空白页里打开连接
<a href="https://www.bilibili.com" target="_blank"> 去 B 站(新窗口打开) </a>
  1. 安全补丁(专业人士必写 / 面试点

当你使用 target="_blank" 时,为了安全起见(防止新页面通过 JS 控制你的旧页面),推荐加上 rel 属性:

<a href="..." target="_blank" rel="noopener noreferrer">
    安全跳转
</a>
  • 这就是给传送门加个“单向阀”,新页面没法搞破坏。
  1. Emmet 大招

a:blank+ Tab 直接生成生成 hreftarget="_blank"rel 属性

<a href="http://" target="_blank" rel="noopener noreferrer"></a>

四、 链接不止能包文字

<a> 标签是一个非常包容的标签。它不仅可以包文字,还可以包图片、包按钮,甚至包一个 div

比如:把图片变成链接

<a href="https://jd.com" target="_blank">
    <img src="shouji.jpg" alt="手机图片">
</a>

五、 锚点链接:电梯功能 🛗

除了跳转到别的网站<a> 还可以跳转到当前页面的某个位置。 这就像大楼里的电梯,按“3楼”,直接把你送到3楼。

  1. 给目的地挂个牌子 (id)

假设你页面底部有一个 footer

<footer id="contact"> 联系我们:12345678 </footer>
  1. 设置电梯按钮 (href="#id")

在页面顶部写一个链接:

<a href="#contact">⬇️ 直达底部联系我们</a>
  • 效果:点击“直达底部”,页面会“唰”的一下滚动到最下面的 footer 位置。