超链接
什么是超链接?
- 页面是文档的容器,使用url作为标识
- 网站是多个页面的集合,使用域名作为标识
- 万维网是多个网站的集合
- 超链接用于标记页面或网站之间的链接关系
超链接
<a>
标记是WEB世界中最重要的标记,没有链接标记,网页就不能称之为超文本,就不能成长为万维网
超链接示例
Export
HTML
Result
- href: 链接指向的地址
- title: 鼠标或键盘焦点指向链接时的提示信息
- target: 链接在窗口中的行为方式,默认为在本窗口打开,本例为在新窗口打开
站内链接与站外链接
- 站外链接:
<a href="http://x.com/bbs/news.html" >link</a>
必须采用全限定域名与文件路径的url格式 - 站内链接:
<a href="news.html" >link</a>
可以仅采用相对文件路径或绝对文件路径的格式,但最终生成的url需要取决于当前站点的域名或链接所在页面的地址
如果链接目标都属于当前站点,我们推荐站内链接形式,因为如果采用站外链接格式,搜索引擎等爬虫可能误以为是站外链接,从而影响搜索效果。
相对文件路径与绝对文件路径
- 绝对路径:
<a href="/news.html" >link</a>
如当前域名为http://x.com
,则浏览器生成的最终地址为http://x.com/news.html
- 相对路径:
<a href="news.html" >link</a>
如该标记当前所在页面为http://x.com/bbs/index.html
,则浏览器生成的最终地址为http://x.com/bbs/news.html
浏览器或搜索引擎等都能很聪明的将文件路径转换为完整的url,但是,要记住并不是所有的Web客户端都一定具有这种智能
文件路径的种种变形
以下几种方式表示同一个路径(当前页面为http://x.com/bbs/index.html
)
<a href="/bbs/news.html" >link</a>
<a href="news.html" >link</a>
<a href="./news.html" >link</a>
<a href="../bbs/news.html" >link</a>
其中:
/
代表根目录,即http://x.com
站点的起点.
代表目前所在的目录..
表示上一层目录
如果熟悉Linux系统命令行的同学,对上述路径格式一定不会陌生
元标记 <base>
全局性改变链接的行为
如果你想改变当前文档中多个<a>
标记的相对基地址及行为,则使用<base>
标记,譬如以下示例,两个链接最终生成相同的地址
<!-- 当前页面为 http://x.com/bbs/index.html -->
<head>
<base href="http://x.com/forum/cba" target="_blank">
</head>
<!-- 实际链接地址为 http://x.com/forum/cba/news.html -->
<a href="news-1.html" >link</a>
<a href="news-2.html" >link</a>
锚:页内链接
以上都是页面之间的链接为,如果希望想在文档内部进行跳转,可以使用#
锚定位符。以下表示跳转到文档的底部或头部:
<a href="#top" >link</a>
<a href="../index.html#bottom" >link</a>
....
<div id="top" >
....
</div>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<a name="buttom"></a>
链接的状态
当我们浏览互联网时,经常会发现,当我们重复访问一些网页时(譬如:https://www.sina.com.cn/ ), 有一些链接是蓝色的,有一些又是灰色的。换言之,这些链接基于用户访问行为的不同,呈现出不同的状态,譬如:
- 一个从未被当前用户访问过的链接,显示为蓝色字体并带有下划线
- 曾经被当前用户访问过的链接,显示为紫色且不带下划线
- 当用户鼠标悬浮或划过链接时,显示为黑色
- 当链接被用户点击时,链接显示为红色并带有下划线
浏览器的默认显示设置是可以被改变的,请参看后面的css 伪类相关章节
深入阅读
- http://www.runoob.com/html/html-links.html
- http://www.runoob.com/html/html-url.html
- https://developer.mozilla.org/zh-CN/docs/Learn/Common_questions/What_is_a_URL
- 相对路径 https://baike.baidu.com/item/%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84
- a标签的rel属性
- 反盗链 http://bindog.github.io/blog/2014/11/18/http-referer-security-and-anti-anti-hotlink/