当前位置: 代码迷 >> Web前端 >> frameset,frame,iframe的差别
  详细解决方案

frameset,frame,iframe的差别

热度:790   发布时间:2012-07-18 12:05:41.0
frameset,frame,iframe的区别
这个三个都是html的标签,貌似现在的浏览器都支持吧,

看他们的名称应该就可以知道是用来做什么的,是的,叫“框架”,

相当多的网站的太后的布局是比较一致的,左边导航,右边内容,多的再价格顶部显示版权信息有的没的,这样布局就可以用框架来实现,

这边就不讨论具体怎么实现框架布局了,只是简单的说一下用法,

如果用frameset+frame实现的2行下两列的布局可以这样写

<frameset rows="60,*" cols="*" framespacing="0" frameborder="0">

   <frame name="top" src="top.php">

   <frameset rows="*" cols="40%,*">

      <frame name="menu" src="left.php">

      <frame name="main"  src="main.php">  

   </frameset>

</frameset>

<noframeset>

   <body>

     浏览器不支持框架

   </body>

<noframeset>

其中的一些具体细节就是如果写框架的其他属性,具体属性可以网上查询,这样就可以实现一个上面一行top行,下面一行分两列,左边一列是导航,右边一列是内容的布局了,值得一提的是noframeset标签,他的作用是如果浏览器不支持框架的话,如果提示用户,相信现在不支持框架的浏览器应该是比较少了,但是,这给了我们一个重要的信息,为什么noframeset中有body标签,而frameset中没有呢,没有,就是这样,我也说不清为什么,反正就是如果有frameset标签的话,就不能存在body标签,这也是frameset也iframe的差别,后面会讲到,

下面用iframe来实现上面的例子

可以你对table或者div比较属性,那么你可以这样布局

<html>

<head><title>利用iframe布局</title></head>

<body>

<div class="top"></div>

<div class="left"><iframe scr="left.php" name="menu"></div>

<div class="right"><iframe src="main.php" name="main"></div>

</body>


</html>

至于其中的css如果写来实现div的布局就略过了,是的,你可以看到,用iframe也可以实现上面的效果,

刚才说到两个的差别,frameset不能与body并存,而iframe可以,那这样就造就了iframe可以插入任何html文档的任何地方,而frameset不能,这样说,你明白了把,呵呵
  相关解决方案