重学前端 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 标签。


目录
相关文章
|
2月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
10天前
|
人工智能 前端开发 JavaScript
前端基础之HTML
Web1.0、Web2.0 和 Web3.0 标志着互联网发展的三个阶段。Web1.0(静态互联网,1990年代初至2000年代初)以静态内容和单向信息流为主,用户仅能浏览。Web2.0(互动互联网,2000年代初至2010年代初)引入了用户生成内容和社交网络,内容动态且互动性强。Web3.0(语义互联网,2010年代至今)强调语义化、个性化、智能化及去中心化,结合AI、区块链等技术,提供沉浸式体验。HTTP和HTML作为互联网基础协议和技术,在各阶段不断演进,共同推动了现代互联网的发展。
前端基础之HTML
|
2月前
|
存储 移动开发 数据处理
HTML5 元素2
HTML5引入了多个新元素以增强表单功能和用户体验。`&lt;keygen&gt;`元素用于生成密钥对,提交表单时生成私钥和公钥,私钥保存在客户端,公钥发送至服务器,用于后续的身份验证。`&lt;output&gt;`元素则用于展示计算结果或其他脚本输出,如表单数据处理的结果。此外,`&lt;datalist&gt;`元素可与`&lt;input&gt;`元素结合使用,提供预定义的选项列表,增强输入的便捷性和准确性。这些元素共同提升了网页的交互性和安全性。
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
46 6
|
1月前
|
移动开发 前端开发 JavaScript
HTML5 <nav> 元素2
HTML5中的`&lt;nav&gt;`标签用于定义页面的导航链接部分,但并非所有链接都需置于其中。`&lt;aside&gt;`标签定义页面主内容外的相关信息,如侧边栏。`&lt;header&gt;`标签描述文档或节的头部区域,可用于定义内容的介绍展示区。示例包括导航、家庭旅行记录和IE9发布信息等。
|
2月前
|
移动开发 UED HTML5
HTML5 表单元素1
HTML5引入了新的表单元素,如`&lt;datalist&gt;`、`&lt;keygen&gt;`和`&lt;output&gt;`,以增强表单的功能性和用户体验。
|
1月前
|
Web App开发 移动开发 iOS开发
HTML5 语义元素1
HTML5引入了语义元素,如`&lt;nav&gt;`、`&lt;header&gt;`、`&lt;footer&gt;`等,这些元素能清晰地向浏览器和开发者传达其内容的意义,如导航链接、头部和尾部。与非语义元素(如`&lt;div&gt;`)不同,语义元素使网页结构更加明确,有助于提升可读性和可访问性。例如,`&lt;section&gt;`标签用于定义文档中的节,而`&lt;article&gt;`标签则用于定义独立的内容,如论坛帖子、博客文章等。这些新元素在IE9及更高版本、Firefox、Chrome、Safari和Opera中得到支持。
|
2月前
|
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请求。
|
3月前
|
前端开发
HTML 链接2
HTML 使用 `&lt;a&gt;` 标签创建超链接,链接可以是文字或图像,点击后可跳转至新文档或当前文档的特定部分。链接地址通过 `href` 属性指定。默认情况下,未访问的链接为蓝色带下划线,已访问的为紫色,点击时为红色。样式可通过 CSS 自定义。
|
3月前
|
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;` 是一个指向万维网上页面的链接。