框架知识例解

Author: Date: 2001年 8期

    首先给大家列出一段简单框架代码,然后我们将针对这个框架实例为初学者讲解一下它们的基础知识,希望对大家有所帮助。
      <html>
      <head>
      </head>
      <frameset cols="150,*">
      <frame name="contents" target="main">
      <frame name="main">
      <body>
      </body>
      </frameset>
      </html>
      其中的cols=“150,*” 依次设定各帧宽度,150是像素数;也可以按“10%,*”或者“2*,*”来设定,10%是占窗口的10%,那么剩下的部分就占窗口的90%;“2*,*”是将窗口部分按2∶1分配。
      如果你不愿让边框影响你的主页的美观,可以删除帧边框。<frameset>中的属性frameborder="n" border="n"均为设置边框粗细,n=1表示边框粗细为1,n=0则无边框。其中frameborder是HTML4标准和IE用法,border是Netscape用法。要实现统一的效果就只好都设置了。
      滚动条的出现会让“唯美主义者”大动肝火。如果不想让它在某帧中出现可以在<frame>加入scrolling=“no”来隐藏(yes是要求出现,auto是根据需要出现)。做得极端一些,你甚至可以将scrolling="no"加在框架页的<frameset>中,一举消灭所有的滚动条──只要你不怕访问者使用低分辨率浏览时只看到半个页面;noresize:禁止访问者用鼠标拖动移动帧边框。HTML4标准中,各属性设置项次序可以任意打乱,但必须置于被描述对象的前端,至于字母大小写倒是无所谓,只是记住不要随便加入空格就行(同样适用于其它对象的描述)。<frame name="contents" target="main">语句中target="main"的是指定框架"contents"中的超链接的页面显示在框架"main"中。实际上就是把框架"contents"作为主页的目录,框架"main"中显示主页的内容,这种效果可以在很多主页上看见。
      有时要求利用一个超链接来同时打开两个帧页。我们先假设要通过超链1来同时载入帧页first.htm和next.htm到不同的帧页窗口,其中将nexthtm在窗口banner处打开(窗口名称可以在框架页中类似<frame name="banner" target="main" src="left.htm">的语句中找到)。需要在first.htm中加入onload指令:<body onload="parent.banner.location.href
  ='next.htm'"></body>具体加入形式:<html><body onload="parent.banner.location.href
  ='next.htm'">此处是该文件原有的其他内容</body></html>原理很简单,超链1打开first.htm,而first.htm中加入的onload语句自动打开next.htm到指定的窗口,从而实现利用一个链接控制两个帧页的功能(你完全可以进一步发挥)。
      在框架页设置中,各帧页宽、高的属性非常重要。
      1.左右帧页要求一定的比例(假设要求3∶2)。应设置左帧为60%,右帧40%,这样可以保证在任意分辨率下都保持预定比例。但需注意若不是想达到特别效果,应保证左帧比例+右帧比例=100%。
      2.如果要求左帧为150个像素,那么就把右帧设置为*(即设定右帧占满剩余窗口),这样右帧作为宽度可伸缩帧页,可自动随着窗口大小的变化而变化,有效适应不同分辨率。实际应用中,大多数情况下都会要求某部分一定要放置在窗口的固定位置,设置一个可变化部分尤其重要。表格中如已设定表格宽度为百分比的话,对于其中的一列要求不太严格的单元格(注意是一整列或一整行,单元格的宽度有可能相互影响)不设定其宽度,也可以起到相同的作用。
      3.超过100%宽度的设置并非完全没有用。如果设置为110%而同时设定不出现滚动条,你可以达到隐藏一部分帧页的目的。