您的位置:寻梦网首页编程乐园HTML园地HTML4.0参考文献

前页 后页 目录 元素 特性

框架

HTML框允许作者在多个视图展示文档.视图可以是独立窗 口或子窗口.多视图提供给设计者一个在其它视图滚动或 替换时可以保持一定信息可见的途径.例如,使用三个框: 一个是静态的旗帜,一个是导航菜单,剩下的一个则是主 视图其中可以滚动或通过在导航框按动条目被代替.

框的划分

一个有框的HTML文档在标注上与没有框的HTML有轻微的不 同.一个标准的文档有一个HEAD 段和一个BODY.一 个有框的文档有一个HEAD, 一个FRAMESET和一个 可选BODY.

文档的FRAMESET部 分指定视图在用户代理器主视窗中的划分.

跟随FRAMESET声明 的BODY部份提供 不提供框或设置为不显示框的用户代理器一个交互内容. 我们在下面仔细讨论交互内容的细节.

元素通常被放在BODY 元素中并且不能出现于FRAMESET 元素之前否则FRAMESET 将被忽略.

FRAMESET元素

<!ELEMENTFRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?)>
<!ATTLIST FRAMESET
?--absolute pixel values,percentages or relative scales.--
?rows   ?CDATA  ?#IMPLIED?--if not given,default is 1row --
?cols   ?CDATA  ?#IMPLIED?--if not given,default is 1column --
?onload  ?%Script ?#IMPLIED?--all the frames have been loaded?--?
?onunload ?%Script ?#IMPLIED?-- all the frames have been removed --? ?>
开始标记:需要,结束标记:需要
特性定义
?
rows=length-list
这个特性指定水平框的划分.它是一个用逗号分列的长度, 缺省值为100%.
cols=length-list
这个特性指定垂直框的划分.它是一个用逗号分列的长度. 如果没有指定,缺省值是100%.
在它处定义的特性
?
  • onload,onunload (内部事件)
FRAMESET元素指定主 视窗的矩形划分.

横行和竖列

设定rows特性 定义水平空间的数量.设定cols 特性定义垂直空间的数值.两个特性同时使用可以用来建 立栅格.

如果rows特 性没有设定,每个竖列扩展到?页面的整个长度.如果cols 特性没有设定,则框使用与页面完全相同的尺寸.

这两个特性的值均是用逗号分列的长度.长度可以是绝 对的(给出像素数或屏幕的百分比)或相对长度,意味着用 "i*"格式,这里的"i"是一个整数.当给横行竖列分配空间 的时候,用户代理器首先分配绝对的长度,然后根据剩下 的横行竖列相对长度来划分.值"*"等价于"1*".

视图在竖列中从左到右建立而对于横行则是从上至下. 当两个特性均被指定时,视图在第一横行中从左到右建立, 然后在第二横?行中从左到右建立等.

第一个例程在垂直方向把屏幕分开两半 (就是说上面一半下面一半).
<FRAMESET rows="50%, 50%">
...the rest of the definition...
</FRAMESET>
下一个例程建立三个竖列:第二列有一个组合宽度250像 素(例如,对于放置一个已知尺寸的图像是有用的).然后第 一列分到剩下的25%而第3列分到75%.
<FRAMESET cols="1*,250,3*">
...the rest of the definition...
</FRAMESET>
下一个例程建立一个2x3的栅格.
<FRAMESET rows="30%,70%" cols="33%,34%,33%">
...the rest of the definition...
</FRAMESET>
对于下一个例程,假定浏览器视窗为1000像素高,?第一视?图 分到了总高的30%(300像素).第二个视图被定义为400像素 高.这样就剩下300像素被用来分给后面的两个框.第四个 框指定为"2*",所以它较第三个框占用两倍的高度,第三个 框定义为"*"(1*).这样第三框将有100高而第4框为200高.
<FRAMESET rows="30%,400,*,2*">
...the rest of the definition...
</FRAMESET>
总和不为100%真实可用空间的绝对长度可以被?用户代理 器调整.当少于的时候,剩下的空间会按比例分配给每个 视图.当超过的时候,每个视图将根据它们定义在总空间 的指定比例适当减少.

嵌套框设置

框可以嵌套任意级.
在下面的例程中,外部的FRAMESET 把可用空间分成三个相等的竖列.内部的FRAMESET 则把第二个区域分成两个不同高度的横行.
<FRAMESET cols="33%, 33%, 34%">
  ...contents of first frame...
   <FRAMESET rows="40%, 50%">
   ?...contents of second frame,first row...
   ?...contents of second frame,second row...
   </FRAMESET>
  ...contents of third frame...
</FRAMESET>

FRAME元素

<!-- reserved frame names start with "_" otherwise starts with letter -->
<!ELEMENTFRAME - O EMPTY>
<!ATTLIST FRAME
?name   ?CDATA  ?#IMPLIED?--name of frame for targetting --
?src    %URL   #IMPLIED?--source of frame content --
?frameborder(1|0)  ?1    --request frame borders?--
?marginwidth%Pixels ?#IMPLIED?--margin widths in pixels --
?marginheight%Pixels #IMPLIED?--margin height in pixels --
?noresize ?(noresize)#IMPLIED?--allow users to resize frames?--
?scrolling (yes|no|auto) auto   -- scrollbar or none -- ?>
开始标记:需要,结束标记:禁止
特性定义
<!-- This is main.html --> <HTML> <BODY> <NOFRAMES>
...the table of contents here...
</NOFRAMES>
...the rest of the document...
</BODY> </HTML>
并且在框架不显示的时候从"top.html"链接到"main.html":
<!-- This is top.html --> 
<HTML> <FRAMESET cols="50%, 50%">   
<FRAME src="main.html">   
<FRAME src="table_of_index.html"> </FRAMESET> 
<BODY> Click <A href="main.html">here</A> for a non-frames version. </BODY> </HTML>

内层框架:?A NAME="edef-IFRAME">IFRAME元素

<!ELEMENTIFRAME - - %block>
<!ATTLIST IFRAME
?name   ?CDATA  ?#IMPLIED?--name of frame for targetting --
?src    %URL   #IMPLIED?--source of frame content --
?frameborder(1|0)  ?1    --request frame borders?--
?marginwidth%Pixels ?#IMPLIED?--margin widths in pixels --
?marginheight%Pixels #IMPLIED?--margin height in pixels --
?scrolling(yes|no|auto)auto  --scrollbar or none --
?align   %IAlign ?#IMPLIED?--vertical or horizontal alignment --
?height  ?%Length ?#IMPLIED?--suggested height --
?width    %Length ?#IMPLIED?-- suggested width -- ?>
开始标记:需要,结束标记:需要
特性定义
?
width=length
内层框架的宽度.
height=length
内层框架的高度.
IFRAME元素允许作者 在一个封闭文本中插入一个框架.在文本章节中插入内层 框架更象通过OBJECT 元素插入物件:它们都允许你在一份HTML的中间插入另一 份,分们都可以与围绕的文字对齐,等等.

被插入内层的信息由这个元素的src 特性设定.另一方面,IFRAME 元素的内容只能被不提供框架或设定为不显示框架 的用户代理器来渲染.

对于提供框架的用户代理器,下面的例程 将在言语本中央放置一个外面绕线的内层框架.
<IFRAME src="foo.html" width="400px" height="500px" scrolling="auto" frameborder="1"> 
[Your user agent does not support frames or is currently configured not to display frames. 
Click to retrieve <A href="foo.html">the related document.</A>] </IFRAME>
内层框架不能重置大小,(因此,无需noresize 特性).
注意:HTML文档也可能被其它的HTML文档 通过OBJECT元 素绑定.查看在HTML文档中包含 文件的细节.

前页 后页 目录 元素 特性