简述html中框架Frame和Frameset的用法

来源:互联网 发布:炉石12胜数据 编辑:程序博客网 时间:2024/04/29 10:55

原文:简述html中框架Frame和Frameset的用法

NanShan 小编碰到一个frameset的问题,因为我比较懒,就先从网上拿来一篇基础知识,呵呵,好记性不如烂笔头啊

 

     所谓框架便是网页画面分成几个框窗,同时取得多个 URL。只需要 <FRAMESET> <FRAME> 即可,而所有框架标记需要放在一个总起的 html 档,这个档只记录了该框架如何分割 ,不会显示任何资料,所以不必放入 <BODY> 标记,浏览这框架必须读取这档案而不是其他框窗的档案。<FRAMESET> 是用来划分框窗,每一窗框由一个 <FRAME> 标记所标示,<FRAME>必须在 <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 cols=#>  例:<frameset cols="100,200,300">

  <frameset rows=#>  例:<frameset rows="10%,20%,70%">


  #的值为一对用引号括起来的字符串,字符串中的数字表示每个分窗口所占的尺寸,数字中间用逗号隔开,有几个数字就表示分出了几个窗口。当然,这其中的任何一个数字也可以由“*”来代替,这样表示由浏览器自动设置其大小。


 

程序代码 程序代码

 如:<frameset cols="100,200,*">

    <frameset cols="100,*,*">   将100像素以外的窗口平均分配

    <frameset cols="*,*,*">    将窗口分为三等份


--------------------------------------------------------------------------------



纵向排列多个窗口:


程序代码 程序代码

<frameset cols=30%,20%,50%>

  <frame src="frame/A.html">

  <frame src="frame/B.html">

  <frame src="frame/C.html">

</frameset>




横向排列多个窗口:

程序代码 程序代码

<frameset rows=25%,25%,50%>

  <frame src="frame/A.html">

  <frame src="frame/B.html">

  <frame src="frame/C.html">

</frameset>




纵横排列多个窗口:


程序代码 程序代码

<frameset cols=20%,*>

  <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>

0 0
原创粉丝点击