重学前端 24 # HTML里的链接元素

简介: 重学前端 24 # HTML里的链接元素

一、介绍


链接是 HTML 中的一种机制,它是 HTML 文档和其它文档或者资源的连接关系。链接两种类型:一种是超链接型标签,一种是外部资源链接。

9a27707921483ec74872a572cfd04012.png



二、link 标签


2.1、超链接型 link 标签

超链接型 link 标签是一种被动型链接。link 标签具有特定的 rel 属性,会成为特定类型的 link 标签。


1、canonical 型 link

提示页面它的主 URL,在网站中常常有多个 URL 指向同一页面的情况,搜索引擎访问这类页面时会去掉重复的页面,这个 link 会提示搜索引擎保留哪一个 URL。

<link rel="canonical" href="...">


2、alternate 型 link

提示页面它的变形形式,就是当前页面内容的不同格式、不同语言或者为不同的设备设计的版本,也可以提供给搜索引擎来使用的。

<link rel="alternate" href="...">


典型应用场景:页面提供 rss 订阅时

<link rel="alternate" type="application/rss+xml" title="RSS" href="...">



3、prev 型 link 和 next 型 link

用来告诉搜索引擎或者浏览器它的前一项和后一项,这有助于页面的批量展示。


4、其它超链接类的 link

  • rel="author":链接到本页面的作者,一般是 mailto: 协议
  • rel="help":链接到本页面的帮助页
  • rel="license":链接到本页面的版权信息页
  • rel="search":链接到本页面的搜索页面(一般是站内提供搜索时使用)


2.2、外部资源类 link 标签

外部资源型 link 标签会被主动下载,并且根据 rel 类型做不同的处理。


1、icon 型 link

唯一一个外部资源类的元信息 link,其它元信息类 link 都是超链接,icon 型 link 中的图标地址默认会被浏览器下载和使用。

注意:多数浏览器会使用域名根目录下的 favicon.ico,即使它并不存在,从性能的角度考虑,建议页面中有 icon 型的 link



2、预处理类 link

   预处理类 link 标签就是允许我们控制浏览器,提前针对一些资源去做这些操作,以提高性能(乱用性能反而更差)。


   dns-prefetch 型:link 提前对一个域名做 dns 查询

   preconnect 型:link 提前对一个服务器建立 tcp 连接

   prefetch 型:link 提前取 href 指定的 url 的内容

   preload 型:link 提前加载 href 指定的 url

   prerender 型:link 提前渲染 href 指定的 url



3、modulepreload 型的 link

预先加载一个 JavaScript 的模块,这样能保证 JS 模块不必等到执行时才加载。所谓加载,是指完成下载并放入内存,并不会执行对应的 JavaScript

<!-- 预加载这两个js,提高性能 -->
<link rel="modulepreload" href="app.js">
<link rel="modulepreload" href="kaimo.js">
<!-- 比如app.js里import了kaimo.js -->
<script type="module" src="app.js">


4、stylesheet 型 link

<link rel="stylesheet" href="xxx.css" type="text/css">


5、pingback 型 link

表示本网页被引用时,应该使用的 pingback 地址,这个机制是一份独立的标准,遵守 pingback 协议的网站在引用本页面时,会向这个 pingback url 发送一个消息。




三、a 标签


3.1、有 rel 属性的种类

下面的跟 link 语义完全一致,不同的是,a 标签产生的链接是会实际显示在网页中的,而 link 标签仅仅是元信息。


  • alternate
  • author
  • help
  • license
  • next
  • prev
  • search

3.2、独有的 rel 类型


  • tag:表示本网页所属的标签
  • bookmark:到上级章节的链接·

3.3、辅助的 rel 类型


   用于提示浏览器或者搜索引擎做一些处理

   nofollow:此链接不会被搜索引擎索引

   noopener:此链接打开的网页无法使用 opener 来获得当前页面的窗口

   noreferrer:此链接打开的网页无法使用 referrer 来获得当前页面的 url

   opener:打开的网页可以使用 window.opener 来访问当前页面的 window 对象,这是 a 标签的默认行为。



四、area 标签



   与 a 标签非常相似,不同的是,它不是文本型的链接,而是区域型的链接。area 是整个 html 规则中唯一支持非矩形热区的标签。


shape 属性支持三种类型


   圆形:circle 或者 circ,coords 支持三个值,分别表示中心点的 x,y 坐标和圆形半径 r

   矩形:rect 或者 rectangle,coords 支持两个值,分别表示两个对角顶点 x1,y1 和 x2,y2

   多边形:poly 或者 polygon,coords 至少包括 6 个值,表示多边形的各个顶点


<!-- area 必须跟 img 和 map 标签配合使用 -->
<p>
 Please select a shape:
 <img src="shapes.png" usemap="#shapes"
      alt="Four shapes are available: a red hollow box, a green circle, a blue triangle, and a yellow four-pointed star.">
 <map name="shapes">
  <area shape=rect coords="50,50,100,100"> <!-- the hole in the red box -->
  <area shape=rect coords="25,25,125,125" href="red.html" alt="Red box.">
  <area shape=circle coords="200,75,50" href="green.html" alt="Green circle.">
  <area shape=poly coords="325,25,262,125,388,125" href="blue.html" alt="Blue triangle.">
  <area shape=poly coords="450,25,435,60,400,75,435,90,450,125,465,90,500,75,465,60"
        href="yellow.html" alt="Yellow star.">
 </map>
</p>


总的来说a 标签基本解决了在页面中插入文字型整张图片超链接的需要,如果想要在图片的某个区域产生超链接,就要用到area 标签。


目录
相关文章
|
1月前
|
移动开发 开发者 UED
HTML5 语义元素详解
HTML5引入了诸多语义元素
WK
|
1月前
|
存储 移动开发 前端开发
HTML5新增了哪些其他元素和属性
这段文字介绍了HTML5中新增的多种元素和属性,包括页面布局元素如header、nav等,表单元素如email、tel输入框等,以及其他元素如canvas、svg等。此外,还介绍了全局及表单属性,例如contenteditable、placeholder等,这些新功能显著增强了HTML5在现代网页设计与开发中的实用性与灵活性。
WK
51 1
|
2月前
|
JavaScript 前端开发 容器
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(上)
|
2月前
|
存储 JavaScript 前端开发
用HTML DOM实现有条件地渲染网页元素(下)
用HTML DOM实现有条件地渲染网页元素(下)
|
20天前
|
JavaScript 前端开发
HTML 链接5
空链接是指在HTML中不指向任何实际资源的链接。常见设置方法包括:`href=&quot;#&quot;`(导航到页面顶部)、`href=&quot;javascript:void(0)&quot;`(阻止默认行为,不刷新页面)、`href=&quot;&quot;`(刷新当前页面)、`href=&quot;about:blank&quot;`(打开空白页面)和`role=&quot;button&quot;`(链接表现为按钮,无默认行为)。选择合适的方法取决于具体应用场景。注意:链接应始终包含正斜杠以避免不必要的HTTP请求。
|
21天前
|
前端开发
HTML 链接2
HTML 使用 `&lt;a&gt;` 标签创建超链接,链接可以是文字或图像,点击后可跳转至新文档或当前文档的特定部分。链接地址通过 `href` 属性指定。默认情况下,未访问的链接为蓝色带下划线,已访问的为紫色,点击时为红色。样式可通过 CSS 自定义。
|
21天前
|
JavaScript 前端开发
HTML 链接1
HTML 链接(Anchor)是网页间跳转的核心元素,通过 `&lt;a&gt;` 标签创建。链接用于导航至其他网页、文档、图像等资源,实现网页互联。基本语法为 `&lt;a href=&quot;URL&quot;&gt;链接文本&lt;/a&gt;`。例如:`&lt;a href=&quot;https://example.com&quot;&gt;本文本&lt;/a&gt;` 是一个指向万维网上页面的链接。
|
20天前
HTML 链接4
`id`属性用于在HTML文档中创建书签。书签在页面中不可见,但可以通过链接直接跳转到指定位置。例如,在页面内或从其他页面链接到带有`id=&quot;tips&quot;`的元素:`&lt;a href=&quot;#tips&quot;&gt;访问有用的提示部分&lt;/a&gt;` 或 `&lt;a href=&quot;https://www.runoob.com/html/html-links.html#tips&quot;&gt;访问有用的提示部分&lt;/a&gt;`。
|
20天前
|
前端开发 安全 搜索推荐
HTML 链接3
HTML 链接属性包括 `href`(定义链接目标)、`target`(定义打开方式)、`rel`(定义关系)、`download`(提示下载)、`title`(显示工具提示)、`id`(链接锚点)、`hreflang`(目标语言)、`type`(资源类型)、`class`(类名)和 `style`(内联样式)。这些属性帮助实现丰富的链接功能。
|
23天前
HTML 元素
HTML文档由HTML元素定义,元素包括开始标签、内容和结束标签。某些元素内容为空,可在开始标签中关闭。大多数元素可拥有属性,且元素间可相互嵌套,形成复杂结构。