html Frame、Iframe、Frameset 的区别
Frameset与Frame的区别
首先,我们来理解一下Frameset与Frame之间的区别。
<Frameset></Frameset>用来划分框架,每一个框架由<Frame>< /Frame>标记。
<Frame></Frame>必须在<Frameset>< /Frameset>之内使用,
代码如下:
<FRAMESET border=1 frameSpacing=1 borderColor=#47478d rows=* cols=180,*>
<FRAME src="inc/admin_left.htm" name=left scrolling=no id="left">
<FRAME src="inc/admin_center.htm" name=main scrolling="no">
</FRAMESET>
在上面的例子当中,<Frameset></Frameset>把页面分为左右两个部分,左侧框架中的页面是admin_left.htm,右侧框架中的页面是admin_center.htm。
注意:<Frame></Frame>标记的框架顺序为从左至右或从上到下。
两者的差别如下:
● <Frameset>为框架标记,说明该网页文档为框架组成,并设定文档中组成框架集的框架的布局。
● <Frame>用以设置组成框架集中各个框架的属性。
Frameset参数设置
<Frameset>需要一些特定的参数来设置,这些参数直接决定整个页面的布局,请看下面这行代码:
<Frameset border=1 frameSpacing=1 borderColor=#47478d rows=* cols=180,*>
关于上段代码的各项参数设置及其含义如表10-3所示。
表10-3 Frameset参数
名 称 |
含 义 |
border |
设定框架的边框厚度,以pixels为单位 |
frameborder |
设定是否显示框架的边框,0为不显示,1为显示 |
frameSpacing |
表示框架与框架之间的距离 |
borderColor |
设定框架的边框颜色 |
rows |
将 文档分为上下的框架,Rows后的值可以为数值或百分数,*表示占用余下的空间,数值的个数代表水平分成的框架个数,如 Rows=“210,*,10%”,表示页面分为上、中、下3个框架页,上边的框架占用210px,下边的框架占用整个文档的10%,余下的空间为中间的 框架占用。*是一个相对的概念,如Rows=*,表示页面中没有上下结构的框架布局 |
cols |
设置同Rows |
Frame参数设置
关于Frame参数的设置,请看下面的代码:
<frame name="left" src=" index_manager/admin_left.htm " marginwidth="1" marginheight="1" scrolling="no" frameborder="1" noresize framespacing="2" bordercolor="#cc0000">
上段代码的各项参数设置及其含义如表10-4所示。
表10-4 Frame参数
名 称 |
含 义 |
name |
设定框架的名称,须为英文 |
src |
设置框架中显示的页面的路径和名称,可为相对路径亦可为绝对路径 |
marginwidth |
表示框架距离左右边缘的距离 |
marginheight |
表示框架距离上下边缘的距离 |
scrollling |
设置是否在框架中显示滚动条,yes为显示,no为不显示,auto表示当框架页中内容超过框架的大小时自动显示滚动条 |
frameborder |
设置是否显示框架的边框,0为不显示,1为显示 |
noresize |
设定是否可以让使用者改变这个框架的大小,不设置此项允许浏览者任意拉动框架,改变框架的大小 |
framespacing |
表示框架与框架之间的距离 |
bordercolor |
设定框架的边框颜色 |
Frame与Iframe的区别
Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。
Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。
它和Frame标记的最大区别是在网页中嵌入的<Iframe></Iframe>所包含的内容与整个页面是一个整体,
而<Frame>< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。
Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内容的代码。
设置Iframe透明
Iframe还有一个更大的好处,就是可以设置框架透明,让框架内的背景和主页面背景一样。
在<Iframe>标记中,插入代码如下:
allowTransparency="true" 即可