超级链接

超级链接是网站中使用比较频繁的HTML元素,因为网站的各种页面都是由超级链接串接而成,超级链接完成了页面之间的跳转。超级链接是浏览者和服务器的交互的主要手段,在后面的技术中会逐步深化学习。

—  注意:图片也可以做链接,将在下一章“网页中的图片”详细学习。

 4.5.1  给文字添加链接

超级链接的标签是<a></a>,给文字添加超级链接类似于其他修饰标签。添加了链接后的文字有其特殊的样式,以和其他文字区分,默认链接样式为蓝色文字,有下划线。超级链接是跳转到另一个页面的,<a></a>标签有一个href属性负责指定新页面的地址。href指定的地址一般使用相对地址。

—  说明:网站开发中,文档相对地址使用更为普遍。

在D:\web\目录下创建网页文件,命名为a.htm,编写代码如代码4.18所示。

代码4.18  超级链接的设置:a.htm

<html>

<head>

<title>超级链接的设置</title>

</head>

<body>

<font size="5">

<a href="ul_ol.htm">进入列表的设置页面</a>

</font>

</body>

</html>

在浏览器地址栏输入http://localhost/a.htm,浏览效果如图4.19所示。

图4.19  超级链接的设置

读者可从图4.19中看到超级链接的默认样式,当单击页面中的链接,页面将跳转到同一目录下的ul_ol.htm页面,即上节的列表设置页面。当单击浏览器的“后退”按钮,回到a.htm页面时,文字链接的颜色变成了紫色,用于告诉浏览者,此链接已经被访问过。

 4.5.2  修改链接的窗口打开方式

默认情况下,超级链接打开新页面的方式是自我覆盖。根据浏览者的不同需要,读者可以指定超级链接的其他打开新窗口的方式。超级链接标签提供了target属性进行设置,取值分别为_self(自我覆盖,默认)、_blank(创建新窗口打开新页面)、_top(在浏览器的整个窗口打开,将会忽略所有的框架结构)、_parent(在上一级窗口打开)。

—  注意:_top和_parent方式用于框架页面,后面章节有详解。

 4.5.3  给链接添加提示文字

很多情况下,超级链接的文字不足以描述所要链接的内容,超级链接标签提供了title属性能很方便地给浏览者做出提示。title属性的值即为提示内容,当浏览者的光标停留在超级链接上时,提示内容才会出现,这样不会影响页面排版的整洁。修改a.htm网页文件,编写代码如代码4.19所示。

代码4.19  超级链接的设置:a.htm

<html>

<head>

<title>超级链接的设置</title>

</head>

<body>

<font size="5">

<a href="ul_ol.htm" target="_blank" title="读者你好,现在你看到的是提示文字,单击本链接可以新开窗口跳转到ul_ol.htm页面。">进入列表的设置页面</a>

</font>

</body>

</html>

在浏览器地址栏输入http://localhost/a.htm,浏览效果如图4.20所示。

图4.20  超级链接的提示文字

 4.5.4  什么是锚(anchor)

很多网页文章的内容比较多,导致页面很长,浏览者需要不断地拖动浏览器的滚动条才能找到需要的内容。超级链接的锚功能可以解决这个问题,锚(anchor)是引自于船只上的锚,锚被抛下后,船只就不容易飘走、迷路。实际上锚就是用于在单个页面内不同位置的跳转,有的地方叫做书签。

超级链接标签的name属性用于定义锚的名称,一个页面可以定义多个锚,通过超级链接的href属性可以根据name跳转到对应的锚。在D:\web\目录下创建网页文件,命名为a_anchor.htm,编写代码如代码4.20所示。

代码4.20  超级链接的锚:a_anchor.htm

<html>

<head>

<title>超级链接的设置</title>

</head>

<body>

<font size="5">

<a name="top">这里是顶部的锚</a><br />

<a href="#1">第1任</a><br />

<a href="#2">第2任</a><br />

<a href="#3">第3任</a><br />

<a href="#4">第4任</a><br />

<a href="#5">第5任</a><br />

<a href="#6">第6任</a><br />

<h2>美国历任总统</h2>

●第1任(1789-1797)<a name="1">这里是第1任的锚</a><br />

姓名:乔治·华盛顿<br />

George Washington<br />

生卒:1732-1799<br />

政党::联邦<br />

●第2任(1797-1801)<a name="2">这里是第2任的锚</a><br />

姓名:约翰·亚当斯<br />

John Adams<br />

生卒:1735-1826<br />

政党::联邦<br />

●第3任(1801-1809)<a name="3">这里是第3任的锚</a><br />

姓名:托马斯·杰斐逊<br />

Thomas Jefferson<br />

生卒:1743-1826<br />

政党::民共<br />

●第4任(1809-1817)<a name="4">这里是第4任的锚</a><br />

姓名:詹姆斯·麦迪逊<br />

James Madison<br />

生卒:1751-1836<br />

政党:民共<br />

●第5任(1817-1825)<a name="5">这里是第5任的锚</a><br />

姓名:詹姆斯·门罗<br />

James Monroe<br />

生卒:1758-1831<br />

政党:民共<br />

</font>

</body>

</html>l>

在测试之前,读者从代码4.20可以看到,定义锚也是用的<a></a>标签,锚的名称用name属性定义(名称没有限制,可自定义)。而寻找锚的链接用href属性指定对应的名称,在名称前面要加个#符号。在浏览器地址栏输入http://localhost/a_anchor.htm,浏览效果如图4.21所示。

图4.21  超级链接的锚

当浏览者单击超级链接时,页面将自动滚动到href属性值名称的锚位置。

—  注意:定义锚的标签<a name=""></a>内不一定需要具体内容,只是做一个定位。

 4.5.5  电子邮件、FTP和Telnet的链接

超级链接还可以进一步扩展网页的功能,比较常用的有发电子邮件、FTP以及Telnet连接。完成以上的功能只需要修改超级链接的href值。发电子邮件的编写格式为:

<a href = "mailto:邮件地址">给我发email</a>

邮件地址必须完整,如intel@qq.com。

前面提到过,浏览网页采用http协议,而FTP服务器采用FTP协议连接,链接格式如下:

<a href = "ftp://服务器IP地址或域名">链接的文字</a>

FTP服务器链接和网页链接区别在于所用协议不同。FTP需要从服务器管理员处获得登录的权限。不过部分FTP服务器可以匿名访问,从而能获得一些公开的文件。同样,连接Telnet协议的服务器也是采用类似方法,格式如下:

<a href = "telnet://服务器IP地址或域名">链接的文字</a>

telnet协议应用非常少,使用http协议居多。在D:\web\目录下创建网页文件,命名为mail.htm,编写代码如代码4.21所示。

代码4.21  超级链接的其他设置:mail.htm

<html>

<head>

<title>超级链接的其他设置</title>

</head>

<body>

<font size="5">

<a href="mailto:intel@qq.com" title="读者你好,单击这里可以发电子邮件。">给我发E-mail</a><br />

<a href="ftp://101.22.25.11" title="读者你好,欢迎进入FTP服务器。">连接FTP服务器</a><br />

<a href="telnet://101.22.25.11" title="读者你好,欢迎进入Telnet服务器。">连接Telnet服务器</a>

</font>

</body>

</html>s

在浏览器地址栏输入http://localhost/mail.htm,浏览效果如图4.22所示。

图4.22  超级链接的其他设置

HTML 超级链接详细讲解的更多相关文章

  1. HTML超级链接详细讲解

    超级链接是网站中使用比较频繁的HTML元素,因为网站的各种页面都是由超级链接串接而成,超级链接完成了页面之间的跳转.超级链接是浏览者和服务器的交互的主要手段,在后面的技术中会逐步深化学习. —  注意 ...

  2. head标签详细讲解

    head标签详细讲解 head位于html网页的头部,后前的标签,并以开始以结束的一html标签. Head标签位置如图: head标签示意图 head包含标签 meta,title,link,bas ...

  3. [iOS]数据库第三方框架FMDB详细讲解

    [iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封 ...

  4. html 超链接(a)详细讲解

    a:link : http://www.cnblogs.com/yangfeng/archive/2009/07/25/1530962.html 超级链接 超级链接是网站中使用比较频繁的HTML元素, ...

  5. (三)Jquery Mobile按钮详细讲解

    Jquery Mobile按钮详细讲解 一.JM按钮说明 按钮如下图所示           1.HTML5中的button      效果:      2. JM中的普通button        ...

  6. node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能

    第一章 建议学习时间8小时·分两次学习      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...

  7. phpExcel导出excel加超级链接的实例代码[转]

    phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...

  8. auth权限认证详细讲解

    auth权限认证详细讲解 一.总结 一句话总结:四表两组关系,一个多对多(权限和用户组之间)(多对多需要3个表),一个一对多(用户和用户组之间) 1.实际上使用Auth是需要4张表的(1.会员表 2. ...

  9. phpExcel常用方法详解【附有php导出excel加超级链接】

    phpExcel常用方法详解[附有php导出excel加超级链接] 发表于4年前(-- :) 阅读() | 评论() 0人收藏此文章, 我要收藏 赞0 http://www.codeplex.com/ ...

随机推荐

  1. 四十一 常用内建模块 datetime

    datetime是Python处理日期和时间的标准库. 获取当前日期和时间 我们先看如何获取当前日期和时间: >>> from datetime import datetime &g ...

  2. 倍增LCA学习笔记

    前言 ​ "倍增",作为一种二进制拆分思想,广泛用于各中算法,如\(ST\)表,求解\(LCA\)等等...今天,我们仅讨论用该思想来求解树上两个节点的\(LCA\)(最近公共祖先 ...

  3. OpenCV 学习之路(2) -- 操作像素

    本节内容: 访问像素值 用指针扫描图像 用迭代器扫描图像 编写高效的图像扫描循环 扫描图像并访问相邻像素 实现简单的图像运算 图像重映射 访问像素值 准备工作: 创建一个简单函数,用它在图像中加入椒盐 ...

  4. 【BZOJ 4571】【SCOI 2016】美味

    http://www.lydsy.com/JudgeOnline/problem.php?id=4571 这道题因为有加法,不能像可持久化trie那样每次判断只判断一个子树,而是在主席树上查询\(\l ...

  5. hdu 1531 king(差分约束)

    King Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  6. BZOJ 4802 欧拉函数(Pollard_Rho)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4802 [题目大意] 已知N,求phi(N),N<=10^18 [题解] 我们用P ...

  7. 【二分】Codeforces Round #404 (Div. 2) C. Anton and Fairy Tale

    当m>=n时,显然答案是n: 若m<n,在第m天之后,每天粮仓减少的量会形成等差数列,只需要二分到底在第几天,粮仓第一次下降到0即可. 若直接解不等式,可能会有误差,需要在答案旁边扫一下. ...

  8. 【最小割】BZOJ3438-小M的作物(Rank 2???!!!)(含新款Dinic模板)

    一开始被T掉了之后,才害怕地发现之前写的Dinic基本上都是错的??!!!正确的写在注释里了,注意一下(;3<)馬鹿やろ 一个丧心病狂的优化前后效率对比:

  9. JVM堆 栈 方法区详解

    一.栈 每当启用一个线程时,JVM就为他分配一个JAVA栈,栈是以帧为单位保存当前线程的运行状态 栈是由栈帧组成,每当线程调用一个java方法时,JVM就会在该线程对应的栈中压入一个帧 只有在调用一个 ...

  10. 零起点学算法08——简单的输入和计算(a+b)

    #include <stdio.h> int main() { int a; int b; scanf("%d %d",&a,&b); printf(& ...