frameset的用法
碰到一个frameset的问题,因为我比较懒,就先从网上拿来一篇基础知识,呵呵,好记性不如烂笔头啊
<frameset cols="50%,*"> <frame name="hello" src="up2u.html"> <frame name="hi" src="me2.html">
</frameset>
此例中 <FRAMESET> 把画面分成左右两相等部分,左边是显示
up2u.html,右边则会显示 me2.html 这档案,<FRAME>
标记所标示的框窗永远是按由上而下、由左至右的次序
<FRAME>
用法: 定义一个帧
开始/结束标识: 必须/非法
属性: name="..."定义帧的名字
scr="..."定义在帧中显示的内容的来源
frameborder="..."定义帧之间的边界(0或1)
margwidth="..."设置帧的边界和其中内容之间的间距
margheight="..."设置帧的边界和其中内容之间的间距化
noresize="..."使帧的尺寸不能变
scrolling="..."设置滚动条的表示方式(auto, yes, no)
空: 不允许
<FRAMESET>...</FRAMESET>
用法: 定义在一个窗口中帧的布局
开始/结束标识: 必须/必须
属性: rows="..."设定行的数目
cols="..."设定列的数目
onload="..."当载入文档时的内部事件触发器
onunload="..."当卸载文档时的内部事件触发器
空: 不允许
注释: FRAMESET可以嵌套
以上所述只是最简单的框架设定,若希望达到更合适的效果请加入或修改以下各参数。
标记:<FRAMESET>
例子:<frameset rows="90,*"
frameborder="0" border=0 framespacing="2" border="2"
bordercolor="#008000"></frameset>
功用:宣告HTML文件为框架模式,并设定视窗如何分割。
参数:
COLS="90,*"
垂直切割画面(如分左右两个画面),接受整数值、百分数, * 则代表占用剩余的空间。数值的个数代表分成的视窗数目且以逗号分隔。例如
COLS="30,*,50%" 可以切成三个视窗,第一个视窗是 30 pixels
的宽度,为一绝对分割,第二个视窗是当分配完第一及第三个视窗后剩下的空间,第三个视窗则占整个视窗画面的 50%
宽度为一相对分割。你可自己调整数字。
ROWS="120,*"
这是横向切割,将画面上下分开,数值设定同上。 COLS 与 ROWS 两参数尽量不要放在同一个
<FRAMESET> 标记中,因 Netacape
偶然不能显示这类型的框架,尽量采用多重分割,如以上各例。
frameborder="0"
设定框架的边框,其值只有 0 和 1 , 0 表示不要边框, 1 表示要显示边框。
border="0"
设定框架的边框厚度,以 pixels 为单位。
bordercolor="#008000"
设定框架的边框颜色。颜色值请参考【调色原理】。
framespacing="5"
表示框架与框架间保留的空白的距离。
标记:<FRAME>
例子:<frame
name="top" src="a.html" marginwidth="5" marginheight="5"
scrolling="Auto" frameborder="0" noresize framespacing="6"
bordercolor="#0000FF">
功能:设定每一个框窗内的参数属性。
参数:
SRC="a.html"
设定此框窗中要显示的网页档案名称,每个框窗一定要对应一个网页档案。
NAME="top"
设定这个框窗的名称,这样才能指定框架来作链接,必须但任意命名。
frameborder=0
设定框架的边框,其值只有 0 和 1 , 0 表示不要边框, 1 表示要边框。
framespacing="6"
表示框架与框架间的保留的空白的距离。
bordercolor="#008000"
设定框架的边框颜色。
scrolling="Auto"
设定是否要显示卷轴,YES 表示要显示卷轴,NO 表示无论如何都不要显示卷轴,AUTO 视情况而定。
noresize
设定不让使用者可以改变这个框框的大小,如没有设定此参数,使用者可随意地拉动框架改变其大小。
marginhight=5
表示框架高度部分边缘所保留的空间。
marginwidth=5
表示框架宽度部分边缘所保留的空间。
如果新建页面加入超链接
例如;左边的超链接在右边显示相关内容,应定义文件left.html,内容为<html>
<head>
<title>
</title>
</head>
<body>
<a href="right1.html"
target="right">right中第一个文件</a><br/>
<!-- 注意其中的target属性值应与
frame中右边的name属性值相同-->
<a href="right2.html"
target="right">right中第二个文件</a><!--
注意其中的target属性值应与 frame中右边的name属性值相同-->
</body>
</html>
右面的两个文件 right1.html和right1.html
内容分别为<html>
<head>
<title>
</title>
</head>
<body>
right中第一个文件
</body>
</html>
<html>
<head>
<title>
</title>
</head>
<body>
right中第二个文件
</body>
</html>
<noframes>标记:
当别人使用的浏览器太旧,不支持框架功能时,他看见的将是一片空白。为了避免这种情况,可使用<noframes>这个标记,当使用者的浏览 器看不到框架时,他就会看到<noframes>与</noframes>之间的内容,而不是一片空白。这些内容可以是提醒浏览 者采用新的浏览器的字句,也可以是一个没有框架的网页或切换到没有框架的版本的链接都可。
使用方法为:在<frameset>标记范围加入<noframes>标记,如
<frameset rows="80,*">
<noframes>
<body>
很抱歉,您使用的浏览器不支持框架功能,请采用新版本的浏览器。
</body>
</noframes>
<frame name="top" src="b.html">
<frame name="bottom" src="c.html">
</frameset>
若浏览器支持框架,那么它不会理会<noframes>中的内容,但若浏览器不支持框架,由于不认识所有框架标记,不明的标记被略过,标记包围的内容便被解读出来,所以在<noframes>范围内的文字被显示。
程序举例:
<frameset rows=#> 例:<frameset rows="10%,20%,70%">
#的值为一对用引号括起来的字符串,字符串中的数字表示每个分窗口所占的尺寸,数字中间用逗号隔开,有几个数字就表示分出了几个窗口。当然,这其中的任何一个数字也可以由“*”来代替,这样表示由浏览器自动设置其大小。
<frameset cols="100,*,*"> 将100像素以外的窗口平均分配
<frameset cols="*,*,*"> 将窗口分为三等份
--------------------------------------------------------------------------------
纵向排列多个窗口:
<frame src="frame/A.html">
<frame src="frame/B.html">
<frame src="frame/C.html">
</frameset>
横向排列多个窗口:
<frame src="frame/A.html">
<frame src="frame/B.html">
<frame src="frame/C.html">
</frameset>
纵横排列多个窗口:
<frame src="frame/A.html">
<frameset rows=40%,*>
<frame src="frame/B.html">
<frame src="frame/C.html">
</frameset>
</frameset>
看一个范例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>中国电信成都分公司 渠道商业平台</title>
</head>
<frameset rows="100,*" cols="*" frameborder="NO" border="0" framespacing="0">
<frame src="chlidpage/top.htm" name="topFrame" scrolling="NO" noresize>
<frameset rows="*" cols="200,*" framespacing="0" frameborder="NO" border="0">
<frame src="chlidpage/left.htm" name="leftFrame" scrolling="NO" noresize>
<frame src="admin/gh.htm" name="mainFrame">
</frameset>
</frameset>
<noframes><body>
</body></noframes>
</html>