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


目录
相关文章
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
525 4
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
395 1
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
592 1
|
10月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
285 15
|
6月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
320 19
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
186 1
|
9月前
|
移动开发 前端开发 JavaScript
HTML表单验证:确认input元素输入为具有特定整数和小数位数的数值。
将上述JavaScript代码与HTML一同使用,便可以确保用户输入的数值符合特定的格式要求。特别要注意,在实际的生产环境中,仅仅依靠前端验证是不够的。为了安全起见,后端也应该实施相应的验证措施,以防止不匹配格式的数据通过其他手段提交到服务器。
489 74
|
10月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的多种方法与组件封装技巧,涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动DOM操作及动态创建组件实例等内容。同时提供了性能优化建议,如批量更新DOM、使用v-show代替v-if以及懒加载大型组件等。通过合理封装组件,可提高代码复用性和维护性。文中还附有具体示例代码,帮助开发者更好地理解和应用相关技术。适用于前端开发人员学习和实践Vue动态元素处理与组件设计。
241 19
|
10月前
|
缓存 JavaScript 前端开发
Vue 项目中动态添加 HTML 元素的方法与实践
本文探讨了 Vue 中动态添加 HTML 元素的多种技术方案,包括条件渲染(v-if/v-show)、动态组件(component :is)、手动挂载($mount)及 Vuex 状态管理等方法。通过实例分析,如动态表单生成器与全局模态框服务,展示了这些方案在实际开发中的应用。同时提供了性能优化建议和注意事项,帮助开发者根据需求选择最佳方式,在保持 Vue 响应式特性的同时实现灵活交互。附带代码示例,便于理解和实践。
312 2