HTML 框架
通过采用框架(frame),你可以在一个浏览器窗口里同时显示多个网页。
示例
垂直框架集
本例演示了如何创建一个具有三个不同文档的垂直框架集。
水平框架集
本例演示了如何创建一个具有三个不同文档的水平框架集。
(本页底部提供了更多示例)
框架
通过采用框架,你可以在一个浏览器窗口里同时显示多个HTML文档。每个HTML文档所在窗格被称为一个框架(frame),各框架彼此是相互独立的。
采用框架的不足之处是:
- Web开发者需要处理多个HTML文档
- 不容易打印整张页面
frameset标签
- <frameset>标签定义了如何将窗口划分成框架
- 每个框架集(frameset)定义了一组行(row)或列(column)
- <frameset>标签通过rows或cols属性指出各行或各列占据屏幕大小的多少
frame标签
- <frame>标签用于定义框架要加载的HTML文档
在下面的示例中,我们定义了一个具有两列的框架集。第一列占据25%的浏览器窗口宽度,第二列占据75%的浏览器窗口宽度;第一列载入文档“frame_a.htm”,第二列载入文档“frame_b.htm”:
<frameset cols="25%,75%"> <frame src="frame_a.htm"> <frame src="frame_b.htm"> </frameset> |
注意: 框架集的rows或cols属性值也可以采用像素为单位(比如cols="200,500"),而且可以设置其中一列为“采用所有剩余空间”(比如cols="25%,*")。
要点——实用技巧
若一个框架有可见边框,那么用户可以通过拖拽边框来调整大小。为阻止用户这样做,我们可以为<frame>标签增添一个属性:noresize="noresize"。
为防止浏览器不支持框架,你可以定义<noframes>标签,并在其中放入一些当浏览器不支持框架时显示的内容。
重要:如果你使用了<frameset></frameset>标签,就不能再使用<body></body>标签!反之亦然。它们不能同时使用。不过,假如你为不支持框架的浏览器定义了<noframes>标签的话,那么在<noframes>标签里,你需要将内容放在<body></body>标签之间。请参考下面第一个示例。
更多示例
如何使用<noframes>标签
本例演示了如何使用<noframes>标签。
混合框架集
本例演示了如何创建具有三个文档的框架集,并将它们按行和列混合置放。
具有noresize="noresize"属性的框架集
本例演示了noresize属性的运用。本例中的框架是不可调整大小的。如果你移动鼠标光标至两个框架之间的边框上,你会发现边框是无法移动的。
导航框架
本例演示了如何制作导航框架。导航框架(navigation frame)里包含有一组链接,这些链接将在第二个框架中载入页面。文件名为“tryhtml_contents.htm”的文档中包含3个链接,这三个链接对应的源代码为:
<a href ="frame_a.htm" target ="showframe">框架A</a><br>
<a href ="frame_b.htm" target ="showframe">框架B</a><br>
<a href ="frame_c.htm" target ="showframe">框架C</a>
被选择的文档将在第二个框架中被载入。
内嵌框架
本例演示了如何创建内嵌框架(inline frame),即嵌在HTML页面里的框架。
框架在载入页面时跳到指定位置
本例有两个框架,其中一个框架将在载入页面时直接跳到页面里的指定位置。在文档“link.htm”中,需要在指定位置处定义<a name="C10">。
用导航框架跳到指定位置
本例有两个框架,左侧的导航框架(content.htm)里包含一组链接,这些链接将在右侧框架(link.htm)中载入页面。右侧框架用于显示被选择的文档。在导航框架里,有一个链接被链接到目标文件中的指定位置。在“content.htm”里,这部分源代码是这样的:<a href ="link.htm" target ="showframe">不带锚的链接</a><br><a href ="link.htm#C10" target ="showframe">带有锚的链接</a>.
框架标签
标签 | 描述 |
---|---|
<frameset> | 定义框架集(一组框架) |
<frame> | 定义一个窗格(框架) |
<noframes> | 为不支持框架的浏览器定义要显示的内容 |
<iframe> | 定义一个内嵌窗格(框架) |