frameset标签的属性及使用

本文详细介绍了HTML中的框架使用方法,包括frameset元素的定义及其属性如cols、rows、border等的使用,frame元素的scrolling、noresize等属性,以及浮动框架iframe的应用方式,并通过实例演示了如何使用框架实现类似邮箱的页面布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面我来给大家介绍frame的具体使用方法。    frame作为html语言中的一部分,在网页制作中占据着重要的地位。使用frame必须首先用frameset来定义,在html文档中,可以有frameset元素或者body元素,但不能同时使用这两种元素。 frameset元素的使用: (1) (2) frameset元素的使用 (3)    (4)      (5)      (6)    (7) frame是frameset定义的每个“网页分框”的定义,其属性name、scrolling及noresize、marginHeight及marginWidth、frameborder也将在下面给大家介绍。 frameset元素的cols及rows属性 ;属性说明:cols及rows的作用是设置frame的宽度及高度 (1) (2) frameset元素中cols及rows属性的使用 (3)   (4)     (5)    (6)          //定义名字,用来引用 (7)       (8)     (9) (10) 示例说明: 第三行中的语句cols="20%,*" 定义了浏览器中frame的“列数”。20%说明最左边的frame占据整个浏览器宽度的百分比(也可以写像素),*则说明除去左边的frame以外的地方,其余全部留给最右边的frame。第5行是在第一例中再分成两行,第一行大小为30%,剩下的是第二行的大小。 frameset元素的border属性 ;属性说明:设置frame之间的距离,包括3-D边框 (1) (2) frameset元素中border属性的使用 (3)    (4)      (5)     (6)      (7)    (8) 示例说明:frame之间的宽度现在为10个像素。 如果定义border属性的值为0,则在浏览器中将不会看到边界。同样,framespacing也可以设定frame之间的宽度,只不过framespacing设定的是附加的空间。 另外:bordercolor属性作用是设定边框的颜色,颜色值为标准RGB颜色值。 frameset元素的scrolling属性及noresize属性 ;属性说明: scrolling:决定frame是否可以使用滚动条 、noresize:决定frame是否可以改变大小 (1) (2) frame元素中scrolling属性及noresize属性的使用 (3)    (4)      (5)      (6)      (7)    (8) 示例说明:左边的frame使用了scrolling=no的属性,则无论需要显示的页面有多大,都不会有滚动条出现。中间的frame使用了noresize=true属性,这用户不能调整frame的大小(大家可以看到以前例子中的frame是可以调整大小的)。最右边的frame使用了scrolling=yes的属性,在这里大家看得不是很清楚,如果需要显示的页面过小,就是说不需要滚动条也能够显示出全部,则此时最右边的frame也是拥有滚动条的。默认情况下,scrolling的值是auto。而noresize是一个布尔型的变量,当为true时,不能改变frame的大小;为false时(默认情况),可以改变frame的大小。 frameset元素的marginHeight属性及marginWidth属性 属性说明: marginHeight:设定在显示frame中的文字之前文字距离顶部及底部的空白距离 marginWidth:设定在显示frame中的文字之前文字距离左右两边的空白距离 (1) (2) frame元素中marginHeight属性及marginWidth属性的使用 (3)    (4)      (5)      (6)    (7) 示例说明:左边的框架中文字与上下底边都有60像素的空间空白,与左右两边都有30像素的空间空白。右边的框架没有使用这一属性,所以就没有空间空白。 frameset元素的frameborder属性 属性说明:决定是否在frame中显示边界。可以使用的值有四个,分别是1、0、no、yes。frameborder值为1或者yes,则会显示框线;frameborder值为0或者no,则不会显示框线。frameborder的默认值为1。 浮动框架的制作 浮动框架,就好像一个文档之中又嵌入了一个文档,或者可以说成是一个浮动的frame。制作这样的文档需要用到iframe元素。iframe基本的语法格式如下 需要注意的是iframe与frameset不同,其可以与body元素共同出现在同一篇文档之中。 (1) (2) 浮动框架的使用 (3) (4)  

浮动框架的使用


(5)    (6)   

右边显示的是《html语言教程1》中的内容。现在就好像是在这个网页中又嵌入了另外的一个网页。使用的就是iframe元素。这样可以使网页的可视性加强,对于讲解、说明等特定网页十分适合。

(7) (8) 示例说明:iframe的作用就是在网页中标记出一块区域,使得这块区域可以显示其他内容。iframe元素中的各种常用属性,border、frameBoder、marginHeight、marginWidth、scrolling等,与frame中的用法相同,不再重复。 超链接与框架的制作 -->制作类似于访问邮箱的网页(实例) 首先:我需要说明个部分的html文件,详见下表: HTML文件说明 : main.htm 主页面,分为左右两个框架 host.htm 左边框架所显示的内容。用于索引文件之用,点击其中不同的链接,右边框架会显示不同的内容。 html语言教程1.htm 在右边框架中准备需要显示的内容 html语言教程2.htm html语言教程3.htm 在这个例子中,在左边的框架中设定了三个超链接。在右边框架中需要显示的就有三个网页。就是说左边框架中的内容是不会变的,右边框架是真正的“显示区域”,其内容根据左边框架中点击超链接的不同而不同。 制作方法: main.htm (1) (2) 超链接与框架的制作 (3)   (4)      (5)      (6)    (7) host.htm ---->content是main.htm 中frame的name属性 (1) (2) 超链接与框架的制作 (3) (4)    html语言教程1
(5)    html语言教程2
(6)    html语言教程3 (7) (8) 在左边框架中点击不同的链接,可以看到右边框架会显示不同的内容。同时,可以在“html语言教程1.htm”的最后加入下面的语句: 全屏显示 在项目中用了frameset框架时如果有跳转的内容,直接跳转时将会只跳转一部份,不会整个页面跳转,要想实现整个页面的跳转需要在超链接 中加上target="_parent" eg: 退出系统

转载于:https://www.cnblogs.com/ASPXML/archive/2012/03/01/2375436.html

<think>我们被要求回答关于HTML中frameset标签使用方法。根据用户提供的引用,frameset标签用于创建分割页面的布局结构,但已被HTML5弃用。不过,用户仍然想了解其用法。 引用内容总结: [^1]: Frameset标签用于创建分割页面的布局结构,将网页分割成多个独立的区域(frame),每个区域显示不同的网页内容。虽然现在不推荐使用,但有助于理解旧版网站。 [^2]: frameset标签成对出现,使用时不应用body标签。需要声明支持框架的文档类型。属性cols(水平框架)和rows(垂直框架)取值可以是像素px或百分比%。 [^3]: 主要设计网站后台页面。使用frameset时不能使用body标签。rows属性横向切分,cols纵向切分,多个值用逗号隔开,切分几部分就需要几个frame标签。 [^4]: frameset元素定义框架集,用于组织多个窗口(框架),每个框架有独立文档。使用cols或rows属性指定列数或行数。 因此,我们可以这样组织回答: 1. 介绍frameset标签的基本概念和现状(已弃用)。 2. 使用frameset的基本步骤: - 文档类型声明(注意不是HTML5的声明) - 使用frameset标签替代body标签 - 使用rows或cols属性定义分割方式 - 使用frame标签定义每个框架的内容(通过src属性指定页面) 3. 提供示例代码。 4. 注意事项(如不能使用body标签,每个frame需要指定src等)。 同时,根据引用[2],文档类型声明应该使用XHTML 1.0 Frameset。 示例代码结构: <!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 cols="25%,75%"> <frame src="frame_a.html"> <frame src="frame_b.html"> </frameset> </html> 注意:frameset标签在HTML5中已不再支持,所以这个示例使用的是XHTML 1.0 Frameset文档类型。 另外,还可以展示一个同时有行和列的嵌套框架示例。 最后,提醒用户现在更推荐使用iframe或CSS布局来替代frameset。 根据要求,生成相关问题。</think>### HTML Frameset标签使用详解 `<frameset>`是HTML中用于创建多窗口布局的标签,可将浏览器窗口分割为多个独立的框架(frame),每个框架可加载不同网页内容。虽然HTML5已弃用此标签,但了解其用法对维护旧系统仍有价值。 #### 一、基本用法 1. **文档声明** 必须使用XHTML框架文档类型(非标准HTML5): ```html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> ``` 2. **核心结构** ```html <html> <head> <title>框架示例</title> </head> <frameset cols="25%,75%"> <!-- 纵向分割 --> <frame src="menu.html"> <!-- 左侧框架 --> <frame src="content.html"> <!-- 右侧框架 --> </frameset> </html> ``` **关键点**: - 禁止使用`<body>`标签 - 框架数量必须与`cols/rows`定义的分区数匹配 - 每个`<frame>`需通过`src`指定加载的页面 [^1][^3] #### 二、布局控制属性 | **属性** | **功能** | **值示例** | **说明** | |----------|----------|------------|----------| | `cols` | 纵向分割 | `"200, *"` | 固定左侧200px,右侧自适应 | | `rows` | 横向分割 | `"20%, 80%"` | 上方占20%高度 | | `border` | 边框粗细 | `border="1"` | 框架间分隔线粗细 | | `frameborder` | 是否显示边框 | `frameborder="0"` | 0=隐藏,1=显示 | **混合布局示例**(嵌套分割): ```html <frameset rows="20%,*"> <!-- 先横向分割 --> <frame src="header.html"> <frameset cols="30%,70%"> <!-- 再纵向分割 --> <frame src="sidebar.html"> <frame src="main.html"> </frameset> </frameset> ``` #### 三、Frame标签属性 ```html <frame src="page.html" name="contentFrame" noresize="noresize" scrolling="auto" > ``` - `name`:框架命名(用于超链接定位) - `noresize`:禁止用户调整框架大小 - `scrolling`:滚动条控制(`auto|yes|no`) #### 四、框架间通信 1. **超链接定位** 在菜单页设置链接: ```html <a href="about.html" target="contentFrame">关于我们</a> ``` 点击后内容将在名为`contentFrame`的框架中打开 2. **嵌套框架访问** 通过`parent`对象跨框架访问: ```javascript // 在子框架中访问父框架元素 parent.document.getElementById('header') ``` #### 五、注意事项 1. **已弃用标签** HTML5标准已移除`<frameset>`,推荐替代方案: ```html <!-- 现代替代方案 --> <div class="container"> <iframe src="menu.html"></iframe> <iframe src="content.html"></iframe> </div> ``` 结合CSS Grid/Flexbox布局实现响应式分割 2. **主要缺点**: - 无法被搜索引擎有效索引 - 移动设备兼容性差 - 浏览器前进/后退功能异常 - 存在安全风险(点击劫持)[^1][^4] 3. **适用场景** 仅建议用于遗留系统维护,如: - 传统后台管理系统 - 企业内部旧版应用 - 历史项目兼容性维护 > **最佳实践**:新项目应使用`<div>`+CSS布局或`<iframe>`替代,并通过PostMessage API实现框架通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值