什么是超链接?

超链接(Hyperlink),通常我们简称为“链接”,是网页中一个可以点击的元素,点击后可以跳转到另一个网页、同一网页的不同位置、下载文件、发送邮件等,它是整个万维网(World Wide Web)的基石,实现了页面之间的连接和导航。

html教程超链接
(图片来源网络,侵删)

基本语法:<a>

在 HTML 中,我们使用 <a> 标签来创建一个超链接。<a> 代表 "anchor"(锚点)。

核心属性:href

href 属性是 <a> 标签中最重要的属性,它指定了链接的目标地址(URL)。

语法:

<a href="目标地址">链接显示的文字</a>

示例:

html教程超链接
(图片来源网络,侵删)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">我的第一个超链接</title>
</head>
<body>
    <h1>欢迎来到我的网站</h1>
    <p>点击下面的链接访问谷歌:</p>
    <a href="https://www.google.com">访问谷歌</a>
</body>
</html>

效果: 在浏览器中打开,你会看到“访问谷歌”这几个字,并且它们的颜色通常是蓝色,并且有下划线,将鼠标移上去,会变成小手形状,点击后就会跳转到谷歌的首页。


不同类型的链接

href 属性的值可以有多种形式,实现不同的链接效果。

a) 链接到外部网站

这是最常见的用法,链接到互联网上的其他网站。

语法:

html教程超链接
(图片来源网络,侵删)
<a href="完整的网址">链接文本</a>

注意:网址必须包含 http://https:// 协议。

示例:

<a href="https://www.github.com">访问 GitHub</a>
<a href="https://developer.mozilla.org/zh-CN/">访问 MDN Web 文档</a>

b) 链接到本地网页

链接到同一网站下的其他 HTML 文件。

语法:

<a href="相对路径/文件名.html">链接文本</a>

注意:使用相对路径是一个好习惯,这样当你移动整个网站文件夹时,链接依然有效。

示例: 假设你的文件结构如下:

my-website/
├── index.html
└── about.html

index.html 中链接到 about.html

<!-- index.html -->
<a href="about.html">关于我们</a>

about.htmlpages 文件夹下:

<!-- index.html -->
<a href="pages/about.html">关于我们</a>

c) 链接到网页的特定部分(锚点链接)

你可以跳转到当前页面或另一个页面的特定位置,这需要两步:

  1. 在目标位置设置一个“锚点”,使用 id 属性。
  2. 在链接的 href 中指向这个 id

语法:

<!-- 1. 设置锚点 -->
<h2 id="section2">第二部分内容</h2>
<!-- 2. 创建指向锚点的链接 -->
<a href="#section2">跳转到第二部分</a>

注意: href 的值是 加上锚点的 id,如果链接是跳转到另一个页面的锚点,则写法为 页面名.html#锚点id

示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">锚点链接示例</title>
</head>
<body>
    <h1>我的文章</h1>
    <nav>
        <a href="#intro">引言</a> | 
        <a href="#conclusion">lt;/a>
    </nav>
    <h2 id="intro">引言</h2>
    <p>这里是文章的引言部分...</p>
    <h2>中间内容</h2>
    <p>一些中间的段落...</p>
    <h2 id="conclusion">lt;/h2>
    <p>这里是文章的结论部分...</p>
</body>
</html>

d) 发送邮件链接

点击后会打开默认的邮件客户端(如 Outlook, Foxmail 等),并自动填好收件人。

语法:

<a href="mailto:邮箱地址">发送邮件给我</a>

示例:

<a href="mailto:contact@example.com">联系我</a>

你还可以添加邮件主题和内容:

<a href="mailto:contact@example.com?subject=咨询&body=你好,我想咨询一个问题...">发送带主题和内容的邮件</a>

e) 下载文件链接

如果你的链接指向的是一个文件(如 .pdf, .zip, .jpg),浏览器通常会尝试在浏览器中打开它,如果你想强制下载,可以添加 download 属性。

语法:

<a href="文件路径" download="下载后的文件名">下载文件</a>

download 属性是可选的,如果不写,下载时会用原文件名。

示例:

<a href="files/my-report.pdf" download="我的报告.pdf">下载我的报告</a>

f) 电话链接(在移动设备上有效)

点击后会直接拨打电话号码。

语法:

<a href="tel:电话号码">拨打电话</a>

示例:

<a href="tel:+8613800138000">拨打 138-0013-8000</a>

其他重要属性

除了 href<a> 标签还有几个非常有用的属性。

target 属性

target 属性规定在何处打开链接。

  • _self:默认值,在当前窗口或标签页中打开。
  • _blank在新窗口或新标签页中打开。 这对于不希望用户离开当前网站时非常有用。
  • _parent:在父框架中打开。
  • _top:在整个窗口中打开(取消所有框架)。

最常用的是 _blank

示例:

<a href="https://www.bing.com" target="_blank">在新标签页中打开必应</a>

安全提示: 从安全角度考虑,当你链接到不受你控制的第三方网站时,建议使用 target="_blank",但同时最好加上 rel="noopener noreferrer",以防止安全漏洞(如 tabnabbing 攻击)。

更安全的写法:

<a href="https://www.bing.com" target="_blank" rel="noopener noreferrer">在新标签页中打开必应</a>

rel 属性

rel 属性定义当前文档与链接目标之间的关系。

  • noopener:防止新打开的页面通过 window.opener 访问原始页面的 JavaScript 对象,增强安全性。
  • noreferrer:告诉浏览器不要将当前页面的 referrer(来源信息)传递给目标页面,保护用户隐私。
  • nofollow:告诉搜索引擎不要跟踪这个链接,常用于用户生成的内容(如评论)中,以防止垃圾链接。

最佳实践和总结

  1. 描述性链接文本:链接文字应该清晰地描述点击后会去哪里,而不是使用“点击这里”。
    • 不好<a href="about.html">点击这里</a>了解我们。
    • <a href="about.html">关于我们</a>。
  2. 图片链接:你可以把图片放在 <a> 标签内,使其成为一个可点击的链接。
    <a href="https://www.google.com">
        <img src="google-logo.png" alt="谷歌logo">
    </a>
  3. 保持链接有效:定期检查你的网站链接,确保没有“死链”(404错误)。

完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">超链接综合示例</title>
    <style>
        body { font-family: sans-serif; line-height: 1.6; padding: 20px; }
        nav { margin-bottom: 20px; }
        nav a { margin-right: 15px; }
        .link-box { border: 1px solid #ccc; padding: 15px; margin-bottom: 20px; }
    </style>
</head>
<body>
    <h1>HTML 超链接示例</h1>
    <nav>
        <a href="#external">外部链接</a>
        <a href="#internal">内部链接</a>
        <a href="#anchor">锚点链接</a>
        <a href="#download">下载链接</a>
        <a href="#mailto">邮件链接</a>
    </nav>
    <div class="link-box" id="external">
        <h2>1. 外部链接</h2>
        <p>链接到其他网站:</p>
        <a href="https://www.wikipedia.org" target="_blank" rel="noopener noreferrer">访问维基百科(新窗口)</a>
    </div>
    <div class="link-box" id="internal">
        <h2>2. 内部链接</h2>
        <p>链接到本站的其他页面(假设有 another-page.html):</p>
        <a href="another-page.html">查看另一页</a>
    </div>
    <div class="link-box" id="anchor">
        <h2>3. 锚点链接</h2>
        <p>点击下面的链接,可以跳转到本页面的顶部。</p>
        <a href="#top">回到顶部</a>
    </div>
    <div class="link-box" id="download">
        <h2>4. 下载链接</h2>
        <p>点击下载一个示例文本文件:</p>
        <a href="example.txt" download="example.txt">下载 example.txt</a>
    </div>
    <div class="link-box" id="mailto">
        <h2>5. 邮件链接</h2>
        <p>点击发送邮件:</p>
        <a href="mailto:webmaster@example.com?subject=网站咨询">发送邮件给站长</a>
    </div>
    <div class="link-box">
        <h2>6. 电话链接</h2>
        <p>(在手机上点击可拨打电话)</p>
        <a href="tel:+8613800138000">拨打 138-0013-8000</a>
    </div>
</body>
</html>

希望这个详细的教程能帮助你完全理解 HTML 超链接!