18 . HTML框架 -- frame 标签
HTML框架简述
一个浏览器窗体可以通过几个页面的组合来显示。我们可以使用框架来完成(frames)这项工作。(框架可以把HTML文档分为多个页面)
框架页使用了表格的方式组合,可以分为数行与数列。
框架的优点
- 重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,增加了网页下载速度)
- 方便制作导航栏
框架的缺点
- 会产生很多页面,不容易管理
- 不容易打印
- 浏览器的后退按钮无效
- 代码复杂,无法被一些搜索引擎索引到
- 多数小型的移动设备(PDA 手机)无法完全显示框架
- 多框架的页面会增加服务器的http请求
- 由于上面诸多缺点,因此不符合标准网页设计的理念,已经被标准网页设计抛弃
猴子提示: 目前框架的所有优点完全可以使用Ajax实现,因此已经没有必要使用框架了。
HTML框架结构与语法
框架的DTD
使用框架页时要使用它特有的DTD(HTML文档结构)
<!DOCTYPEhtmlPUBLIC"-//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/)。
框架结构
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"><html><head><title>梦之都框架页示例</title></head><framesetrows="120, *, 80"><framesrc="http://www.dreamdu.com/xhtml/"/><framesrc="http://www.dreamdu.com/css/"/><framesrc="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),缺省值为autoyes-- 显示滚动条no-- 不显示滚动条auto-- 当需要时再显示滚动条
src-- 定义了内容页URL
示例
<framesrc="http://www.dreamdu.com/xhtml/"/>
HTML框架示例 -- 可以尝试编辑