我们浏览网页的时候,当单击某段文字或图片时,就会打开一个新的网页,这里面就使用了超链接。

  就比如下图是一个导航类网页,当你单击某个链接就会打开新的网页。

  比如,我拿我的qq空间“金河访谈”举例,新建一个网页 a.html,输入下面的内容:

<html>
<head>
<title>
html中的超链接标签-a标签
</title>
</head>
<body>
1,直接转向其他页面:
<a href="http://1012587996.qzone.qq.com">金河访谈</a>
2,单独打开一个窗口:
<a href="http://1012587996.qzone.qq.com"  target="_blank">金河访谈</a> </body>
</html>

  

  然后,双击打开这个网页,效果如下:

  

  当你单击第一个“金河访谈”的时候,会直接从本网页转入到我的qq空间,而如果单击第2个“金河访谈”,就会单独打开一个窗口,第一个页面仍然存在。

  大多数情况,我们都会选择第2种方式打开网页,这么做有两个好处,1,用户可以同时查看两个网页,让用户选择关闭;2,让自己的网页多停留一会,增加推广率。

  下面讲一下a标签的用法:

  a标签最重要的属性是href,href 指定了要打开的网页的网址,网页网址又叫做Url,Url 全称是:Uniform Resoure Locator(统一资源定位器),是网页的网址。

  

  href指定的url可以是绝对url,直接指向一个完整的网页,比如 www.baidu.com,直接可以打开百度的首页。

  href指定的url还可以是相对url,相对指的是仅仅针对同一个网站内的不同网页。比如,你在很多网页上都添加了下面一句:

<a href="home.html"> 首页</a>

  

  只要href指定的路径正确,home.html确实存在,那么当用户单击“首页”的时候就可以返回到 home.html页。

  

  a标签的target属性是“目标”的意思,说的是在哪里打开这个网页,它有4个特殊的值:_blank,_self,_parent,_top。

1,target="_blank" : 浏览器总是打开一个新的网页。就像第2个“爱淘宝”超链接一样。

2,target="_self" :这个是默认值,所有没有指明target属性的a标签都是默认这个_self,直接转向另外一个网页。

  

  要想搞明白target等于_parent、_top,需要先讲一下框架集frameset和框架frame。

  首先来看一个例子,使用框架集frameset和框架frame来实现的菜单例子:

  如下图,刚开始打开这个“框架集和框架.html”这个网页时,显示的效果如下:

  左边相当于是一个菜单,右边是显示效果,当你单击“百度”时,效果如下:

  单击“淘宝”时效果如下:

  

  这就是我使用frameset和frame来实现的菜单功能。下面看一下代码:

  1,新建一个网页“框架集和框架.html”,输入下面的内容:

<html>
<head>
<title>
框架集frameset和框架frame
</title>
</head>
<frameset cols="20%,80%">
<frame src="menu.html" />
<frame src="http://qq.com" name="RightFrame" />
</frameset>
</html>

  

 这个网页没有<body>标签,<body>标签和<frameset>标签不能同时使用。因为frame代表的就是另外一个网页,它的src属性指定了要显示的网页地址。

  frameset标签的cols属性,指定了两列(column),一列占20%,另外一列占80%。

  如果设置 cols="200px,*",那么第一列占200像素,第二列占剩下的位置。

  还可以设置rows=“20%,80%”,这样相当于设置了两行,一行占20%,另外一行占80%。

  看看第一个frame,它的src="menu.html",这样左边的frame就会默认显示menu.html的内容。

  

  第二个frame,它的src="http://qq.com" ,这样右边的frame就会默认显示qq的首页。另外,给它指定了属性name="RightFrame",这样第二个frame就是一个有名字的frame了,等会看一下menu.html的源代码就知道设置它的原因了。

2,新建一个网页“menu.html”,输入下面的内容:

<html>
<head>
<title>
菜单menu
</title>
</head>
<body>
<a href="http://qq.com/" target="RightFrame">qq</a>
<a href="http://baidu.com" target="RightFrame">百度</a>
<a href="http://taobao.com" target="RightFrame">淘宝</a>
</body>
</html>

  

  可以看到,我定义了3个a标签,并且指定它们的target="RightFrame",也就是打开网页的目标是在“RightFrame”的框架中。

  这样,不管你单击 qq,百度,淘宝,都会在右边的frame中打开这个网页。

  左边的frame内部嵌入的网页就是一个菜单页,它始终不变,当单击不同的网页地址时,就在右边的frame中显示出来。

  

  这里a标签的target属性指定了一个固定的值,当你单击这个链接的时候,浏览器首先会查看有没有一个叫"RightFrame"的框架或窗口,如果没有,浏览器会创建一个叫"RightFrame"的窗口,如果其他a标签的target也指定了RightFrame,那么单击其他a标签时,这个a标签src指定的网页就会在RightFrame窗口中打开,替换前面的网页内容,因为他们指定了相同的target。

  

  下面,讲一下target="_parent"。在"menu.html"中插入下面的代码:

<a href="http://qq.com" target="_parent">在父框架中打开qq</a>

  

  这个时候,在浏览器中打开”框架集和框架.html“,单击”在父框架中打开qq“,这个时候,你会发现,整个网页直接转向了qq首页。

  ”框架集和框架.html“就相当于”menu.html“的父框架,当”menu.html“中的a指定了target="_parent"时,就会直接在”框架集和框架.html“中打开这个网页。

  对于target="_top"也是类似的,因为frame内部还可以嵌入frameset,因此,会出现多次嵌套的情况,当指定了target="_top"之后,就会在最顶层的框架中,直接打开网页。

  其实,对于target="_top"和target="_parent",平常用的都比较少,但是你要理解它,需要搭配着frameset和frame来理解。

  写这篇文章,我用了4个小时,如果你想学会这一点内容,最起码得动手练一下吧。祝你学习进步啊。

我给女朋友讲编程html系列(3) --html中的超链接标签-a标签 和 框架frame与框架集frameset的更多相关文章

  1. 我给女朋友讲编程html系列(4) -- html常用简单标签

    今天似乎有点感冒,浑身无力,在操场上躺了半个小时,好了许多.好了,废话不说了,还是写今天的教程吧. 1,html中的换行标签是 br,写法是: <br /> 2,html中有一些特殊的字符 ...

  2. 我给女朋友讲编程html系列(2) --Html标题标签h1

    Html是一门标签语言,因此学习Html最快的方式就是学习使用html标签. html标题标签:h1,h2,h3,h4,h5,h6 标题标签总共有6个,h1,h2,h3,h4,h5,h6,从h1到h6 ...

  3. 我给女朋友讲编程html系列(1) -- Html快速入门

    Html是一门编写网页的语言. 在我学习Html的时候,网上的很多朋友说,直接使用[记事本]编写就行了,最后保存为后缀名为 .html 的文件. 不过,我建议你用[Nodepad++]来编写网页,用这 ...

  4. 我给女朋友讲编程CSS系列(3) CSS如何设置字体的类型、大小、颜色,如何使用火狐浏览器的Firebug插件查看网页的字体

    一.CSS如何设置字体的类型.大小.颜色 设计网页时,一般设置body的字体,让其他标签继承body的字体,这样设置特别方便,但是标题标签h1到h6和表单标签(input类型)是没有继承body的字体 ...

  5. 我给女朋友讲编程CSS系列(2)- CSS语法、3大选择器、选择器优先级

    首先看一下使用Css设置h1标签字体颜色和大小的例子,效果图如下: 新建一个网页test.html,然后复制粘贴下面的内容: <html> <head> <style t ...

  6. 我给女朋友讲编程CSS系列(4) CSS盒子模型

    什么是CSS盒子模型?如何学习CSS的盒子模型? 这篇文章,以 [分享 + 结论]  的方式来写. 1,  看w3school的[CSS 框模型概述] 网址为: http://www.w3school ...

  7. 我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权

    如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容 ...

  8. 我给女朋友讲编程总结建议篇,怎么学习html和css

    总共写了11篇博客了,7篇讲html的,4篇讲网络的.不敢说写的多么好吧,最起码的是我迈出了写作的第一步,写作的过程中了解了一些其他的知识,比如SEO.几种重定向等,由于个人能力和见识有限,写出来的东 ...

  9. 我给女朋讲编程网络系列(2)--IIS8 如何在本地发布网站

    通过IIS8 在本地发布网站,一个截图,你就全明白了,越是简单,越是实用. 如果有现成的网站,就将你的网站放到一个文件夹中,比如WebTest2中. 如何没有网站,可以在WebTest2中新建一个in ...

随机推荐

  1. rsync 安装与配置

    1.什么是rsync Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 程两个 ...

  2. leetcode3:不重复的最长子串长度

    package hashmap; import java.util.HashMap; import java.util.Map; public class hashmap { public stati ...

  3. [leetcode]_K Sum 问题

    问题:K Sum问题是一个问题系列,在一个数组中找K个数的和能够满足题目中要求.从2 Sum 到 3 Sum , 3 Sum Clozet , 4 Sum..解法虽一开始不容易想到,但get到解题技能 ...

  4. Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法

    前言 我在实验进入linux系统启动xwindow server而不启动KDE GNOME等桌面系统时遇到的问题.只启动x server而不启动桌面系统,在xserver之上运行一个全屏的图形界面程序 ...

  5. while循环中不支持循环使用curl

    <?php $link = mysql_connect('localhost', 'sms', 'sms'); mysql_select_db('sms', $link); mysql_quer ...

  6. Java输出1~1000之间所有可以被3整除又可以被5整除的数

    主要在于判断是否能被整除,思路是用取余运算符%,取余结果为0就表示能被整除. 代码如下: public class NumDemo { public static void main(String a ...

  7. lldb

    所有命令选择与input 值用  -- 区分 1 p/x 16 转16进制 https://sourceware.org/gdb/onlinedocs/gdb/Output-Formats.html ...

  8. openshift云计算平台diy模式安装Python2.7+Flask

    主要翻译了链接1)的教程,加上一些个人研究,步骤如下: 1) 在openshift.redhat.com申请账号,安装git for windows,然后安装gem install rhc,这些比较容 ...

  9. eth0: error fetching interface information: Device not found

    转载,原文出处:http://zh888.blog.51cto.com/1684752/775447 亲测有效,感谢作者!!! ----------------------------分割线----- ...

  10. spring aop 使用注解方式总结

    spring aop的注解方式:和xml的配置方式略有区别,详细如下: 1.首先还是建立需要的切面类:切面类里面定义好切点配置,以及所有的需要实现的通知方法. /** * */ package com ...