举例讲解HTML中iframe和frame的区别

2017-03-21 12:10:57 html
frame这个标签不知大家注意过没有,它必须放在frameset中使用,而且经常容易和iframe混淆,这里我们就来举例讲解HTML中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>-->    
    <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中均可正常