html框架之iframe和frame及frameset的相关属性介绍

问题

1、你知道iframe和frame的区别吗?

2、你用过frameset等相关属性吗?

iframe和frame的区别

不知道你在项目中用过frameset属性没有,frameset这个属性是在去年我在一个在线客服系统制作中用过,因为客服系统要有固定的布局,上面一块,下面一块等等,当时就是用的frameset和frame。在我用完了这些属性之后,我才明白了iframe和frame的区别。因为在这之前,我项目中一般不用框架,用的话也就是用到iframe。

下面说说其具体区别吧!总结了如下几点。

1、frame不能脱离frameSet单独使用,iframe可以;

2、frame不能放在body中;

如下可以正常显示:

<!--<body>--> 
<frameset rows="50%,*"> 
   <frame   name="frame1"   src="test1.htm"/>  
   <frame   name="frame2"   src="test2.htm"/>  
</frameset> 
<!--<body>--> 

如下不能正常显示:

<body> 
<frameset rows="50%,*"> 
   <frame   name="frame1"   src="test1.htm"/>  
   <frame   name="frame2"   src="test2.htm"/>  
</frameset> 
<body> 

相反,假如iframe放在frameSet属性下面,则必需放在body中

  <body> 
    <frameset>  
      <iframe   name="frame1"   src="test1.htm"/>  
      <iframe   name="frame2"   src="test2.htm"/>  
    </frameset>  
  </body> 

3、iframe是一个html标签,在html中任何地方,都可以随意使用,而frame不可以。

<body> 
   <iframe   name="frame1"   src="test1.htm"/>  
   <iframe   name="frame2"   src="test2.htm"/>  
</body>

<table> 
<tr> 
<td><iframe id="" src=""></iframe></td><td></td> 
</tr> 
</table> 

而frame必须嵌套在frameSet中,且不能再table等标签中使用。

4、frame的高度只能通过frameSet控制;iframe可以自己控制,不能通过frameSet控制

<!--<body>--> 
<frameset rows="50%,*"> 
   <frame   name="frame1"   src="test1.htm"/>  
   <frame   name="frame2"   src="test2.htm"/>  
</frameset> 
<!--</body>--> 

<body> 
<frameset> 
   <iframe height="30%"  name="frame1"   src="test1.htm"/>  
   <iframe height="100"  name="frame2"   src="test2.htm"/>  
</frameset> 
</body> 

5、如果在同一个页面使用了两个以上的iframe,在IE中可以正常显示,在firefox中只能显示出第一个;使用两个以上的frame在IE和firefox中均可正常

frameset相关属性介绍

border 设置框架的边框粗细。

bordercolor 设置框架的边框颜色。

frameborder 设置是否显示框架边框。设定值只有0、1;0 表示不要边框,1 表示要显示边框。

cols

纵向分割页面。其数值表示方法有三种:“30%、30(或者30px)、”;数值的个数代表分成的视窗数目且数值之间用“,”隔开。“30%”表示该框架区域占全部浏览器页面区域的30%;“30”表示该区域横向宽度为30像素;“”表示该区域占用余下页面空间。例如:cols="25%,200,*" 表示将页面分为三部分,左面部分占页面25%,中间横向宽度为200像素,页面余下的作为右面部分。

rows 横向分割页面。数值表示方法与意义与cols相同。

framespacing 设置框架与框架间的保留的空白距离。

用法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>haorooms博客frame标准demo</title>
</head>

<frameset row="180,*">
    <frame name="topFrame" src="topframe.html" />
    <frameset cols="50%,50%">
        <frame src="left.html" name="leftFrame" />
        <frame src="right.html" name="rightFrame" />

    </frameset>

</frameset>


</html>

布局及用js选区各个部分效果图如下:

技术分享

本人为haorooms前端博客原创文章!转载请注明!来源地址是  http://www.haorooms.com/post/html_frameset_contro

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。