18 . HTML框架 -- frame 标签

18.1. HTML frameset 标签
18.2. HTML noframes 标签
18.3. HTML iframe 标签
18.4. HTML框架链接
18.5. HTML嵌套框架

HTML框架简述

一个浏览器窗体可以通过几个页面的组合来显示。我们可以使用框架来完成(frames)这项工作。(框架可以把HTML文档分为多个页面)

框架页使用了表格的方式组合,可以分为数行与数列。

框架的优点

  • 重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,增加了网页下载速度)
  • 方便制作导航栏

框架的缺点

  • 会产生很多页面,不容易管理
  • 不容易打印
  • 浏览器的后退按钮无效
  • 代码复杂,无法被一些搜索引擎索引到
  • 多数小型的移动设备(PDA 手机)无法完全显示框架
  • 多框架的页面会增加服务器的http请求
  • 由于上面诸多缺点,因此不符合标准网页设计的理念,已经被标准网页设计抛弃

猴子提示: 目前框架的所有优点完全可以使用Ajax实现,因此已经没有必要使用框架了。

HTML框架结构与语法

框架的DTD

使用框架页时要使用它特有的DTD(HTML文档结构)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

HTML框架使用frameset标签把浏览器的窗体分为多个行与列的框架页,每个页面又使用了frame标签定义,同时应该使用noframes定义浏览器不支持框架时显示的内容。本节将介绍frame标签,下节介绍frameset标签(引用网址:http://www.dreamdu.com/xhtml/tag_frame/)。

框架结构

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
    <head>
        <title>梦之都框架页示例</title>
    </head>
    <frameset rows="120, *, 80">
        <frame src="http://www.dreamdu.com/xhtml/" />
        <frame src="http://www.dreamdu.com/css/" />
        <frame src="http://www.dreamdu.com/javascript/" />
        <noframes>
            <body>
                梦之都使用了框架技术,但是您的浏览器不支持框架,
                请升级您的浏览器以便正常访问梦之都。
            </body>
        </noframes>
    </frameset>
</html>

通过使用frameset的rows属性(120, *, 80)定义了一个三行的框架,第一行120像素,第三行80像素,第二行是整个页面减去第一行与第三行剩下的像素。frameset里面包含三个frame,每个frame都使用了src属性定义了框架页所包含的页面,最后的noframes定义了浏览器不支持框架时所显示的内容。

frame标签

frame 标签 -- 定义frameset标签中每个框架页的内容
  • frame标签是单独出现的,<frame />
  • 引用网址:http://www.dreamdu.com/xhtml/tag_frame/
  • 属性:
    • Common -- 一般属性
    • frameborder -- 定义了内容页的边框,取值为(1|0),缺省值为1
      • 1 -- 在每个页面之间都显示边框
      • 0 -- 不显示边框
    • longdesc -- 定义框架页的说明
    • marginwidth -- 定义了框架中HTML文件显示的左右边界的宽度,取值为px,缺省值由浏览器决定
    • marginheight -- 定义了框架中HTML文件显示的上下边界的矿度,取值为px,缺省值由浏览器决定
    • name -- 在一个框架页链接到另一框架页时使用(另一个框架页可以使用target定义链接页)
    • noresize -- 定义了浏览者是否可以通过拖拽改变框架页尺寸,取值为(noresize)
    • scrolling -- 定义是否有滚动条,取值为(yes|no|auto),缺省值为auto
      • yes -- 显示滚动条
      • no -- 不显示滚动条
      • auto -- 当需要时再显示滚动条
    • src -- 定义了内容页URL

示例

<frame src="http://www.dreamdu.com/xhtml/" />

HTML框架示例 -- 可以尝试编辑



  • 教程中有什么不懂的地方?发现教程的错误!对教程有什么建议!快快联系猴子呀dreamdu@163.com,:)
赞助梦之都