- HTML教程
- HTML - 主页
- HTML - 概述
- HTML - 基本标签
- HTML - 元素
- HTML - 属性
- HTML - 格式设置
- HTML - 短语标签
- HTML - 元标签
- HTML - 注释
- HTML - 图像
- HTML - 表格
- HTML - 列表
- HTML - 文本链接
- HTML - 图像链接
- HTML - 电子邮件链接
- HTML - 框架
- HTML - Iframe
- HTML - 块
- HTML - 背景
- HTML - 颜色
- HTML - 字体
- HTML - 表单
- HTML - 嵌入多媒体
- HTML - 字幕
- HTML - 标题
- HTML - 样式表
- HTML - JavaScript
- HTML - 布局
HTML - 框架
HTML 框架用于将浏览器窗口分为多个部分,每个部分可以加载单独的 HTML 文档。浏览器窗口中的框架集合称为框架集。该窗口被分成框架,其方式与表格的组织方式类似:分为行和列。
框架的缺点
使用框架有一些缺点,因此从不建议在网页中使用框架 -
一些较小的设备通常无法处理框架,因为它们的屏幕不够大,无法分割。
有时,由于屏幕分辨率不同,您的页面在不同计算机上的显示会有所不同。
浏览器的后退按钮可能无法按用户希望的方式工作。
目前仍然有少数浏览器不支持框架技术。
创建框架
要在页面上使用框架,我们使用 <frameset> 标签而不是 <body> 标签。<frameset> 标签定义如何将窗口划分为框架。<frameset> 标签的 rows属性定义水平框架,cols属性定义垂直框架。每个框架由 <frame> 标签指示,它定义了哪个 HTML 文档应在该框架中打开。
注意- HTML5 中已弃用 <frame> 标签。不要使用该元素。
例子
以下是创建三个水平框架的示例 -
<!DOCTYPE html> <html> <head> <title>HTML Frames</title> </head> <frameset rows = "10%,80%,10%"> <frame name = "top" src = "/html/top_frame.htm" /> <frame name = "main" src = "/html/main_frame.htm" /> <frame name = "bottom" src = "/html/bottom_frame.htm" /> <noframes> <body>Your browser does not support frames.</body> </noframes> </frameset> </html>
这将产生以下结果 -
例子
让我们将上面的示例如下,这里我们将 rows 属性替换为 cols 并更改其宽度。这将垂直创建所有三个框架 -
<!DOCTYPE html> <html> <head> <title>HTML Frames</title> </head> <frameset cols = "25%,50%,25%"> <frame name = "left" src = "/html/top_frame.htm" /> <frame name = "center" src = "/html/main_frame.htm" /> <frame name = "right" src = "/html/bottom_frame.htm" /> <noframes> <body>Your browser does not support frames.</body> </noframes> </frameset> </html>
这将产生以下结果 -
<frameset> 标签属性
以下是 <frameset> 标签的重要属性 -
先生编号 | 属性及描述 |
---|---|
1 |
列 指定框架集中包含多少列以及每列的大小。您可以通过四种方式之一指定每列的宽度 - 以像素为单位的绝对值。例如,要创建三个垂直框架,请使用cols = "100, 500, 100"。 浏览器窗口的百分比。例如,要创建三个垂直框架,请使用cols = "10%, 80%, 10%"。 使用通配符。例如,要创建三个垂直框架,请使用cols = "10%, *, 10%"。在这种情况下,通配符占据窗口的剩余部分。 作为浏览器窗口的相对宽度。例如,要创建三个垂直框架,请使用cols = "3*, 2*, 1*"。这是百分比的替代方案。您可以使用浏览器窗口的相对宽度。这里,窗口被分为六部分:第一列占据窗口的一半,第二列占据窗口的三分之一,第三列占据窗口的六分之一。 |
2 |
行 此属性的工作方式与 cols 属性类似,并采用相同的值,但它用于指定框架集中的行。例如,要创建两个水平框架,请使用rows = "10%, 90%"。您可以按照上面对列的说明相同的方式指定每行的高度。 |
3 |
边界 该属性指定每个帧的边框宽度(以像素为单位)。例如,边框=“5”。值为零意味着没有边框。 |
4 |
框架边框 该属性指定帧之间是否应显示三维边框。该属性的值为 1(是)或 0(否)。例如,frameborder = "0" 指定无边框。 |
5 |
帧间距 该属性指定框架集中框架之间的空间量。这可以采用任何整数值。例如,framespacing =“10”表示每个帧之间应有 10 个像素的间距。 |
<frame> 标签属性
以下是 <frame> 标签的重要属性 -
先生编号 | 属性及描述 |
---|---|
1 |
源代码 该属性用于给出应加载到框架中的文件名。它的值可以是任何 URL。例如,src =“/html/top_frame.htm”将加载 html 目录中可用的 HTML 文件。 |
2 |
姓名 该属性允许您为框架指定名称。它用于指示文档应该加载到哪个框架中。当您想要在一个框架中创建将页面加载到另一个框架中的链接时,这一点尤其重要,在这种情况下,第二个框架需要一个名称来将自己标识为链接的目标。 |
3 |
框架边框 该属性指定是否显示该框架的边框;它会覆盖 <frameset> 标记上的frameborder 属性中给定的值(如果给定了该值),并且该值可以为 1(是)或 0(否)。 |
4 |
边距宽度 该属性允许您指定框架左右边框与框架内容之间的空间宽度。该值以像素为单位给出。例如边距宽度=“10”。 |
5 |
边距高度 此属性允许您指定框架边框及其内容的顶部和底部之间的空间高度。该值以像素为单位给出。例如边距高度=“10”。 |
6 |
诺雷尺寸 默认情况下,您可以通过单击并拖动框架的边框来调整任何框架的大小。noresize 属性阻止用户调整框架大小。例如 noresize =“noresize”。 |
7 |
滚动 该属性控制框架上出现的滚动条的外观。该值可以是“yes”、“no”或“auto”。例如,scrolling =“no”意味着它不应该有滚动条。 |
8 |
长描述 此属性允许您提供指向另一个页面的链接,该页面包含框架内容的详细描述。例如longdesc =“framedescription.htm” |
浏览器对框架的支持
如果用户使用任何旧浏览器或任何不支持框架的浏览器,则应向用户显示 <noframes> 元素。
因此,您必须将 <body> 元素放置在 <noframes> 元素内,因为 <frameset> 元素应该替换 <body> 元素,但如果浏览器不理解 <frameset> 元素,那么它应该理解 <frameset> 元素内部的内容。 <body> 元素包含在 <noframes> 元素中。
您可以为使用旧浏览器的用户添加一些友好的消息。例如,对不起!!你的浏览器不支持框架。如上例所示。
框架的名称和目标属性
框架最流行的用途之一是将导航栏放置在一个框架中,然后将主页加载到一个单独的框架中。
让我们看看下面的示例,其中 test.htm 文件具有以下代码 -
<!DOCTYPE html> <html> <head> <title>HTML Target Frames</title> </head> <frameset cols = "200, *"> <frame src = "/html/menu.htm" name = "menu_page" /> <frame src = "/html/main.htm" name = "main_page" /> <noframes> <body>Your browser does not support frames.</body> </noframes> </frameset> </html>
在这里,我们创建了两列来填充两个框架。第一帧宽 200 像素,包含由menu.htm文件实现的导航菜单栏。第二列填充剩余空间,并将包含页面的主要部分,它由main.htm文件实现。对于菜单栏中可用的所有三个链接,我们将目标框架提到为main_page,因此每当您单击菜单栏中的任何链接时,可用链接都会在主页中打开。
以下是menu.htm文件的内容
<!DOCTYPE html> <html> <body bgcolor = "#4a7d49"> <a href = "http://www.google.com" target = "main_page">Google</a> <br /> <br /> <a href = "http://www.microsoft.com" target = "main_page">Microsoft</a> <br /> <br /> <a href = "http://news.bbc.co.uk" target = "main_page">BBC News</a> </body> </html>
以下是 main.htm 文件的内容 -
<!DOCTYPE html> <html> <body bgcolor = "#b5dcb3"> <h3>This is main page and content from any link will be displayed here.</h3> <p>So now click any link and see the result.</p> </body> </html>
当我们加载test.htm文件时,它会产生以下结果 -
现在您可以尝试单击左侧面板中的可用链接并查看结果。targetattribute还可以采用以下值之一-
先生编号 | 选项和说明 |
---|---|
1 |
_自己 将页面加载到当前框架中。 |
2 |
_空白的 将页面加载到新的浏览器窗口中。打开一个新窗口。 |
3 |
_parent 将页面加载到父窗口中,在单个框架集的情况下,父窗口是主浏览器窗口。 |
4 |
_顶部 将页面加载到浏览器窗口中,替换任何当前框架。 |
5 |
目标框架 将页面加载到指定的目标框架中。 |