一个浏览器文档窗口中一般只能显示一个网页文件,但是,使用框架标签就可以将一个浏览器文档窗口分割成多个子窗口,每个子窗口中都可以显示一个独立的网页文件。
框架是由英文Frame翻译过来,它代表浏览器文档窗口中的一个子窗口。每个框架都可以显示一个HTML文件,多个框架组成了一个框架集(Frameset)。框架集通常的使用方法是在一个框架中放置一个网页,此网页含有可以链接到其他多个网页的超链接条目,访问者单击这些超链接条目后,可以将超链接指向的网页文件显示在另外一个指定的框架中。如果要求在单个应用窗口中显示一个以上的网页,就可以使用框架。 1.框架集标签<frameset>…</frameset>一个被划分成若干框架的窗口区域被称为框架集,框架窗口必须定义在框架集中,<frameset>和</frameset>标签用来定义框架集中有几个框架,以及各个框架时如何排列的。
<frameset>和</frameset>标签嵌套在<html></html>标签对中,也可以嵌套使用,但是必须放在<body>和</body>标签之外,因为,<frameset>和</frameset>标签只是用来划分框架窗口的,而不能显示其他的网页元素。<frameset>标签具有两个比较重要的属性rows和cols属性,使用此标签时,至少应选择这两个属性中的一个,否则浏览器只显示第一个定义的框架,剩下的一概不管,<frameset>和</frameset>标签也就没有起到任何作用了。rows属性用来规定主文档中有几行框架窗口及各个框架窗口及各个框架窗口的大小。cols属性用来规定主文档中有几列框架窗口及各个框架窗口及各个框架窗口的大小。
属性值可以是百分数、绝对像素值。或者星号(*)的组合,取值的个数说明了行和列的个数,(*)代表那些未被说明的空间,如果同一个属性中出现多个星号(*),则将剩下的未被说明的空间平均分配,每个值之间用逗号隔开。
例:<frameset rows="*,*,*">这个表示共有三个按行排列的框架,每个框架占整个浏览器窗口的
1/3的空间的大小。</frameset>
<frameset rows="40%,*,*">这个表示共有三个按列排列的框架,第一个框架占整个浏览器窗口的40%,剩下的空间平均分配给另外两个框架的窗口。</frameset>
<frameset rows="40%,*" cols="50%,*,200">这个表示共有六个框架,两行三列</frameset>
2.框架标签<frame>
<frame>标签放在<frameset>和</frameset>标签之间,用来定义某一个具体的框架窗口。<frame>标签具有两个比较重要的属性,src和name属性,这两个属性都是必须赋值的。src指定整个框架窗口中初始装载的网页文件的URL地址,浏览器将会在此框架中显示src指定的HTML文件;name指定框架窗口的名字,这个名字是用来供超文本链接标签<a href=””target=””>中的target属性指定链接的HTML文件将显示在哪一个框架中。例如,定义了一个框架名字为main,其他某个框架窗口中的超链接标签的target属性值等于这个框架窗口的名字main,当那个超连接被单击后,它指向的HTML文件将显示在main框架中。
此外,<frame>还有scrolling和noresize属性,scrolling用来指定是否在框架窗口边框显示滚动条,取值可以是yes、no、auto(网页内容的空间比空间窗口大时显示,否则不显示)。noresize属性直接加入标签即可使用,不需要赋值,他用来禁止用户使用鼠标拖动框架间的分割线儿调整框架的大小。3.标签<noframes>
<noframes>和</noframes>这对标签的作用是当浏览者使用的浏览器太旧,不支持框架这个功能时,看到的将会是一片空白。为了避免这种情况,可使用<noframes>这个标签,当使用的浏览器看不到框架时,就会看到<noframes>……</noframes>之间的内容,而不是一片空白。这些内容可以是提醒浏览转用新的浏览器的字句,甚至是一个没有框架的网页,或能自动切换至没有框架的版本。在此标签对之间,应该先紧跟着<body>和</body>标签。
4.浮动窗口标签<iframe>…</iframe>
<iframe>标签称为浮动窗口标签。<iframe>和</iframe>标签不需要放在<frameset>和</frameset>标签之间,它的作用是在一个网页中间插入一个简单的框架窗口,在这个框架窗口中可以显示另外一个文件,这样就能够实现一种“画中画”的效果。在<iframe>和</iframe>标签对中放入的文本只有在浏览器不支持<iframe>标签时才会显示,给用户一个提示信息。<iframe>标签的属性的用法与<frame>标签类似,这里不多做介绍。