20 . HTML框架 -- frame 标签
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/)。
框架结构
<!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 />
- 属性:
- 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/"
/>