剑指JavaWeb:技术详解与应用实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3.4 超链接

超链接是指从一个网页指向一个目标的连接关系。在一个Web项目中各个网页就是由超链接连接起来的。在HTML中,使用<a>标签来指定一个超链接,其语法格式如下所示。

<a>标签间的内容会显示到页面上,在页面上单击超链接后,链接目标将显示在浏览器上,并且根据目标类型来打开或运行。

但并不是只要书写标签间的文字就可以实现超链接,HTML为<a>标签提供了href属性,该属性用来指定单击链接之后要跳转的目标,标签的属性需要书写在标签中,如下代码所示。

例如,想要链接到尚硅谷官网,就可以书写为如下形式。

测试超链接标签如图2-17所示。

图2-17 测试超链接标签

当在页面上单击“尚硅谷”文本的超链接时,会跳转到尚硅谷的官网,如图2-18所示。

图2-18 单击超链接后跳转到尚硅谷官网

href属性值可以使用绝对路径,也可以使用相对路径。接下来我们对绝对路径和相对路径进行相关介绍。

首先我们需要明确什么是路径。所谓路径就是用来描述当前文件和其他文件的位置关系。比如,a.html文件在磁盘E的目录下,这样的位置关系就可以称之为路径,因为它准确地描述了a.html文件和磁盘E的关系。

本地绝对路径比较常见,比如,“E:\www\logo.jpg”就是本地绝对路径,表示E盘下的www文件夹下的logo.jpg。

而相对路径是相对于当前文件所在的路径来计算的路径。在相对路径中,使用“.”表示当前文件所在的目录,使用“..”表示当前文件所在文件目录的上级目录,“./”表示当前文件所在的目录下,“../”表示当前文件所在目录的上级目录下。另外,“./”可以省略,也就是路径前面不加“./”时也表示当前文件所在的目录下。

在上面的讲解中,出现了目录分隔符“/”和“\”,它们用来表示文件路径中的层级关系。在Windows操作系统中能识别“\”和“/”,而在Linux操作系统中只能识别“/”,因此在Web网页中我们统一使用“/”作为目录分隔符。

针对以下目录,分析四种文件路径的使用情况。

(1)情况一:使用下级目录中的文件。

假设在编写1.html时,需要使用同目录中img1中的img.jpg,那么可以在1.html中写为“./img1/img.jpg”。需要注意的是,前面不加“./”时同样表示当前文件所在的目录下。也就是说,“img1/img.jpg”也可以表示,使用同目录下img1中的img.jpg。

(2)情况二:使用同级目录中的文件。

假设在编写 img1 目录下的 test.html 时,需要使用同目录下的 img.jpg,那么可以在 test.html 中写为“./img.jpg”。与情况一相同,同样可以省略“./”。

(3)情况三:使用上级目录中的文件。

假设在编写 src 目录下的2.html时,需要使用 img1目录中的 img.jpg,那么可以在2.html 中写为“../img1/img.jpg”。

(4)情况四:使用多层上级目录中的文件。

假设在编写 html 目录中的3.html 时,需要使用 img1目录中的img.jpg,那么可以在3.html 中写为“../../img1/img.jpg”。

接下来继续演示使用相对路径跳转新页面。在section03.html同级目录下创建1.html,并在1.html文件中编写字符串“我是一个新网页”,具体代码如下。

然后,在section03.html文件中添加一行代码,跳转1.html网页。

使用浏览器访问section03.html,使用相对路径跳转页面如图2-19所示。

图2-19 使用相对路径跳转页面

此时超链接的href属性使用的是相对路径,单击“跳转到1.html页面”,即可成功跳转,如图2-20所示。

图2-20 跳转到1.html页面

对于 href 属性还有一点需要注意,最好不要将其值写为本地的绝对路径,否则经过 Web 服务器端将不能进行访问。

另外,<a>标签中的target属性指定跳转目标在哪里打开。它有两个属性值,分别是_self和_blank。具体如下。

●_self值:表示在当前页面加载,该值为默认项。

●_blank值:表示在新窗口打开。

例如,在section03.html文件中,编写测试代码如下。

运行代码查看效果,测试<a>标签中的target属性如图2-21所示。

图2-21 测试<a>标签中的target属性

单击“尚硅谷官网1”,如图2-22 所示,跳转的网页在当前窗口打开,覆盖之前的网页,在当前页面加载新网页。

图2-22 在当前页面加载新网页

单击“尚硅谷官网2”,如图2-23所示,跳转的网页在新窗口打开,之前的网页没有被覆盖。

图2-23 新窗口加载网页

另外,书写标签属性时需要注意以下两点。

(1)双标签的属性应写在开始标签内部,并用空格分隔。如果有多个属性,它们之间也应用空格分隔。例如,<a href="https://www.atguigu.com"target="_blank">Link</a>。

(2)在书写属性值时,可以使用单引号或双引号将值包裹起来,也可以不使用引号。然而,建议在书写属性值时加上引号,并使用双引号来包裹值。这样可以增强代码的可读性和一致性。例如,<img src="image.jpg"alt="Image description">。

请注意,尽管在某些情况下可以省略引号,但使用引号是一种良好的编码风格,可以避免由于属性值中含有空格或特殊字符而引起的错误。