框架

框架的基本结构
横向分框
纵向分框
框架的嵌套
框架的边框
框架之间的超链接

框架的基本结构
框架可以把浏览器的窗口分成多个区域,每个区域经验单独显示一个HTML文件,各个区域也可以相关联地显示出某一个内容,比如可以将索引放在一个区域里,文件内容显示在另一个区域。
框架的基本机构如下:
<html>
<head>
<title>...</title>
</head>
<noframes>....</noframes>
<frameset>
<frameset=URL>
</frameset>
</html>
<noframe>...</noframe>中的内容用来显示在不支持框架的浏览器窗口中,因而这里指向一个普通版本的HTML文件,以便于使用不支持分框浏览器的用户阅读。
框架由<frameser>指定,并且可以相互嵌套,分区中各部分显示的内容用<frame>指定。
可以将窗口横向分成几个部分,也可以分成纵向几个部分,还可以混合分框。

横向分框
横向分框用<frameset cols=#>指定,#可以是一个百分数,也可以是一整数,前者规定各框占窗口的百分数,后者指定各框的绝对大小。例如,下面的离子sample2.html将窗口分成30%,20%,50%的几个区域,各区域的内容分别为a.html,b.html,c.html。
●sample2.html源文件如下:
<html>
<head>
<title>框架</title>
</head>
<frameset cols="30%,20%,50%">
<frame src=a.html>
<frame src=b.html>
<frame src=c.html>
</frameset>
</html>
●a.html源文件如下:
<html>
<head>
<title>a.html文件</title>
</head>
<body>
这里是a.html的内容
</body>
</html>
●b.html源文件如下:
<html>
<head>
<title>b.html文件</title>
</head>
<body>
这里是b.html的内容
</body>
</html>
●c.html源文件如下:
<html>
<head>
<title>c.html文件</title>
</head>
<body>
这里是c.html的内容
</body>
</html>
将这三个文件存在同一个根目录下,浏览smaple2.html文件即可以看到以下效果:

纵向分框
纵向分框用<frameser rows=#>指定。
将上例sample2.html改动如下,即可看到下面的显示效果

源文件如下:
<html>
<head>
<title>框架</title>
</head>
<frameset rows="30%,20%,50%">
<frame src=a.html>
<frame src=b.html>
<frame src=c.html>
</frameset>
</html>

框架的嵌套
将窗口分成横纵几个区域时,相当于框架的嵌套下面的例子先将窗口分成20%,80%,然后将右边的区域再分成上下两个区域。
源文件如下,显示效果如图:
<html>
<head>
<title>框架</title>
</head>
<frameset cols="20%,80%">
<frame src=a.html>
<frameset rows="40%,60%">
<frame src=b.html>
<frame src=c.html>
</frameset>
</frameset>
</html>

框架的边框
框架的边框属性用border=#属性来设置,它是位于<frame>标记中的,单位是象素,
例如<frameset rows="50%,50%" border=30>....</frameset>

框架之间的超链接
框架之间可以有特定的超链接,比如将某一框的内容输出到另一个框,这样我们就可以把其中一个框作为输出框,另一个框作为选择框。实现这种超链接可以有以下几种形式。
(1)在分框的frame标记中标记各个框,标记的方法是在<frame>中加入name属性。比如,定义左边的框作为输出框,右边框为选择框。
<frameset cols="50%,50%">
<frame src=a.html name=display>
<frame src=b.html name=index>
</frameset>
(2)在b.html文件中指定输出到哪个框方法是在b.html文件中加入下列一行。
<base target="display">
这样便使得用鼠标点击b.html中的超链接它的输出会在左边的框中。