HTML锚与链接

A元素锚与链接的区别

锚(anchor)和链接(link)都是a元素,唯一不同的是有没有href attribute。

在Firefox35,Chrome41中,只要a元素有name这个attribute,不管name有没有值,都是锚。但在IE中,如果name没有值,又没有href,则既不是锚也不是链接。

在所有浏览器中,只要a元素有href属性,不管有没有值,都是链接。

锚的创建与作用

锚的作用是当URL的最后部分是#anchorname时,浏览器会滑动滚动条,使这个锚出现在可见窗口最顶端。

创建方式:

  • 创建一个a元素,同时给它设置一个有意义的name;
  • 不使用a元素,而是在需要的元素上,给这个元素设置一个有意义的ID属性;

A链接

A链接的四个状态

A元素作为链接的时候,有四个伪类::link,:hover, :active, :visited,分别对应静止、鼠标悬停、被点击时和被点击后四个状态。

下载链接

使href属性指向一个文件,只要用户点击,就可以触发浏览器下载这个文件,不过这很可能触发浏览器打开一个新窗口。

HTML5中的A元素多了一个download属性(把href的值转赋给这个属性),使用这个属性下载文件,浏览器不需要打开新窗口就可以直接下载文件。

指定窗口打开链接

A元素有一个target属性,这个属性在HTML4严格模式下不是一个标准属性,但因为被广泛使用,在HTML5中已经被认定为标准的属性。

Target属性的值,应该是frame元素的name,或者是_parent,_top, _self, _blank这四者之一。

HTML4标准链接打开新窗口

既然target在HTML4不是标准的属性,如果要是页面符合W3C标准,就不能在元素上直接使用。但我们可以通过JavaScript在页面加载完成后动态设置target属性。

点击链接时通知感兴趣的第三方

这个是HTML5添加的新功能,HTML5为A元素增添了一个ping属性。Ping属性的值是一串空格分开的URL,当链接被点击时,浏览器会发送POST请求给这些URL,说明这个链接被点击过。

但现在只有Chrome36+支持。

提前缓存目标资源

<a href="https://www.example.org"rel="prefetch">resource</a>

Link链接

Link链接元素没有结束标签,所以是放在head元素中的。

加载样式文件

<link rel=”stylesheet” type=”text/css”href=”file.css” >

设置站点图标

<linkhref="https://whatwg.org/images/icon" rel="icon">

提前缓存目标资源

<link href="https://www.example.org"rel="prefetch">

其他

  • 如果给a设置href值,在老版本的firefox中调用click方法可能不会触发a转向。
  • 在Chrome36中,调用dispatchEvent()方法,a连接也会转向,而在Firefox30中不会。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值