我给女朋友讲编程html系列(3) --html中的超链接标签-a标签 和 框架frame与框架集frameset
我们浏览网页的时候,当单击某段文字或图片时,就会打开一个新的网页,这里面就使用了超链接。
就比如下图是一个导航类网页,当你单击某个链接就会打开新的网页。
比如,我拿我的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的更多相关文章
- 我给女朋友讲编程html系列(4) -- html常用简单标签
今天似乎有点感冒,浑身无力,在操场上躺了半个小时,好了许多.好了,废话不说了,还是写今天的教程吧. 1,html中的换行标签是 br,写法是: <br /> 2,html中有一些特殊的字符 ...
- 我给女朋友讲编程html系列(2) --Html标题标签h1
Html是一门标签语言,因此学习Html最快的方式就是学习使用html标签. html标题标签:h1,h2,h3,h4,h5,h6 标题标签总共有6个,h1,h2,h3,h4,h5,h6,从h1到h6 ...
- 我给女朋友讲编程html系列(1) -- Html快速入门
Html是一门编写网页的语言. 在我学习Html的时候,网上的很多朋友说,直接使用[记事本]编写就行了,最后保存为后缀名为 .html 的文件. 不过,我建议你用[Nodepad++]来编写网页,用这 ...
- 我给女朋友讲编程CSS系列(3) CSS如何设置字体的类型、大小、颜色,如何使用火狐浏览器的Firebug插件查看网页的字体
一.CSS如何设置字体的类型.大小.颜色 设计网页时,一般设置body的字体,让其他标签继承body的字体,这样设置特别方便,但是标题标签h1到h6和表单标签(input类型)是没有继承body的字体 ...
- 我给女朋友讲编程CSS系列(2)- CSS语法、3大选择器、选择器优先级
首先看一下使用Css设置h1标签字体颜色和大小的例子,效果图如下: 新建一个网页test.html,然后复制粘贴下面的内容: <html> <head> <style t ...
- 我给女朋友讲编程CSS系列(4) CSS盒子模型
什么是CSS盒子模型?如何学习CSS的盒子模型? 这篇文章,以 [分享 + 结论] 的方式来写. 1, 看w3school的[CSS 框模型概述] 网址为: http://www.w3school ...
- 我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权
如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容 ...
- 我给女朋友讲编程总结建议篇,怎么学习html和css
总共写了11篇博客了,7篇讲html的,4篇讲网络的.不敢说写的多么好吧,最起码的是我迈出了写作的第一步,写作的过程中了解了一些其他的知识,比如SEO.几种重定向等,由于个人能力和见识有限,写出来的东 ...
- 我给女朋讲编程网络系列(2)--IIS8 如何在本地发布网站
通过IIS8 在本地发布网站,一个截图,你就全明白了,越是简单,越是实用. 如果有现成的网站,就将你的网站放到一个文件夹中,比如WebTest2中. 如何没有网站,可以在WebTest2中新建一个in ...
随机推荐
- rsync 安装与配置
1.什么是rsync Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 程两个 ...
- leetcode3:不重复的最长子串长度
package hashmap; import java.util.HashMap; import java.util.Map; public class hashmap { public stati ...
- [leetcode]_K Sum 问题
问题:K Sum问题是一个问题系列,在一个数组中找K个数的和能够满足题目中要求.从2 Sum 到 3 Sum , 3 Sum Clozet , 4 Sum..解法虽一开始不容易想到,但get到解题技能 ...
- Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法
前言 我在实验进入linux系统启动xwindow server而不启动KDE GNOME等桌面系统时遇到的问题.只启动x server而不启动桌面系统,在xserver之上运行一个全屏的图形界面程序 ...
- while循环中不支持循环使用curl
<?php $link = mysql_connect('localhost', 'sms', 'sms'); mysql_select_db('sms', $link); mysql_quer ...
- Java输出1~1000之间所有可以被3整除又可以被5整除的数
主要在于判断是否能被整除,思路是用取余运算符%,取余结果为0就表示能被整除. 代码如下: public class NumDemo { public static void main(String a ...
- lldb
所有命令选择与input 值用 -- 区分 1 p/x 16 转16进制 https://sourceware.org/gdb/onlinedocs/gdb/Output-Formats.html ...
- openshift云计算平台diy模式安装Python2.7+Flask
主要翻译了链接1)的教程,加上一些个人研究,步骤如下: 1) 在openshift.redhat.com申请账号,安装git for windows,然后安装gem install rhc,这些比较容 ...
- eth0: error fetching interface information: Device not found
转载,原文出处:http://zh888.blog.51cto.com/1684752/775447 亲测有效,感谢作者!!! ----------------------------分割线----- ...
- spring aop 使用注解方式总结
spring aop的注解方式:和xml的配置方式略有区别,详细如下: 1.首先还是建立需要的切面类:切面类里面定义好切点配置,以及所有的需要实现的通知方法. /** * */ package com ...