Frameset标签

 

(1)AllPage.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>


<frameset cols="30%,*">
<frame name="frame1"src="b.htm"  noresize frameborder="0"/>
<frame name="frame2"src="c.htm" frameborder="0"/>
</frameset>


</html>

 

(2)b.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body style="background-color:Green;">

b页面

</body>
</html>

 

 

 

 

(3)c.htm

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body style=" background-color:Blue;">

c页面

</body>
</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、付费专栏及课程。

余额充值