当前位置:首页 > 文章列表 > 文章 > 前端 > HTMLframeset标签使用教程详解

HTMLframeset标签使用教程详解

2025-10-27 13:21:28 0浏览 收藏

本文深入解析了HTML框架集(frameset)的使用及其在现代网页开发中被淘汰的原因。传统frameset因其用户体验差、SEO不友好、无障碍性弱、安全性低以及维护困难等问题,已逐渐被现代技术所取代。文章详细阐述了frameset的语法和用法,并通过实例展示了如何使用`

`、``和``标签创建简单的框架页面。同时,重点介绍了现代替代方案,如CSS的Flexbox和Grid布局,以及`<iframe>`标签在嵌入外部内容时的应用。强调在实际项目中应优先采用CSS布局或前端框架构建页面,仅在必要时使用`<iframe>`嵌入不可控的外部内容,以确保网站的性能、安全与可维护性。 <p>现代网页开发不再使用HTML框架集(frameset)是因为它存在用户体验差、SEO不友好、无障碍性弱、安全性低和维护困难等问题,1. 用户体验方面,多个滚动条和书签无法定位具体框架内容导致操作混乱;2. 搜索引擎难以索引分散在不同frame中的内容,影响网站排名;3. 屏幕阅读器对frameset结构支持差,不利于残障用户访问;4. 存在点击劫持等安全风险;5. 需要管理多个HTML文件,增加开发和调试复杂度。取而代之的现代替代方案是使用CSS的Flexbox或Grid布局来实现页面区域划分,既能灵活控制布局又利于SEO和可访问性;对于嵌入外部内容的需求,可使用<iframe>标签,适用于加载第三方支付、地图、视频等独立组件,因其提供沙盒隔离保障安全;但不应使用<iframe>进行主页面布局,以免造成性能下降和结构混乱。因此,在实际项目中应优先采用CSS布局或前端框架构建页面,仅在必要时使用<iframe>嵌入不可控的外部内容,从而确保网站的性能、安全与可维护性。</p><p><img src="/uploads/20251027/176154246868ff0144778e7.png" alt="HTML中的框架集怎么使用? frameset标签应用实例"></p><p>HTML中的框架集,也就是那个<code>frameset</code>标签,它过去是用来把一个浏览器窗口切分成好几个独立区域的,每个区域都能加载一个不同的HTML页面。想象一下,就像在同一个浏览器里同时打开了好几扇窗户。不过说实话,现在你基本不会在新的项目里看到它了,因为它已经是个“老古董”了,在现代网页开发中几乎被完全淘汰了。</p><img src="/uploads/20251027/176154246868ff0144778e7.png" alt="HTML中的框架集怎么使用? frameset标签应用实例"><h3>解决方案</h3><p>要用<code>frameset</code>,你得在HTML文件的根部,也就是<code><html></code>标签里,直接用它替换掉<code><body></code>。这本身就挺特别的,因为它改变了页面内容的传统承载方式。然后,你可以在<code>frameset</code>里定义行或列,用<code>rows</code>或<code>cols</code>属性来指定每个区域的大小比例,比如<code>cols="25%,75%"</code>就是左边25%,右边75%。每个被切分出来的区域,你都需要用一个<code>frame</code>标签来指定它要加载哪个HTML文件,通过<code>src</code>属性来指向文件路径,<code>name</code>属性则可以给这个框架起个名字,方便其他框架里的链接通过<code>target</code>属性来控制内容显示到这个特定的框架里。</p><p>举个例子,一个简单的两列框架集看起来会是这样:</p><img src="/uploads/20251027/176154246868ff01447df97.png" alt="HTML中的框架集怎么使用? frameset标签应用实例"><pre class="brush:language-html;toolbar:false;"><!DOCTYPE html> <html> <head> <title>我的框架集页面</title> </head> <frameset cols="20%, 80%"> <frame src="navigation.html" name="nav_frame"> <frame src="content.html" name="main_frame"> <noframes> <body> <p>您的浏览器不支持框架集。请升级您的浏览器。</p> <p>或者您可以访问 <a href="navigation.html">导航</a> 和 <a href="content.html">内容</a>。</p> </body>

这里,navigation.html会显示在左侧20%宽度的区域,而content.html则在右侧80%的区域。如果navigation.html里有一个链接想让内容显示在main_frame里,它会是这样:加载新内容。另外,noframes标签是为了那些不支持框架集的浏览器或者为了更好的可访问性而准备的,它里面的内容会在不支持框架集时显示出来。

为什么现代网页开发不再使用HTML框架集?

为什么我们现在很少见到frameset的身影了?这事儿得从好几个角度看。最直接的感受就是用户体验。你想想,一个页面里好几个独立滚动条,来回切换内容,点个返回键可能都不知道返回到哪个“层”了。书签也麻烦,你收藏的是整个框架集,而不是某个特定框架里的内容,下次打开可能还是最初状态。这在移动设备上更是灾难,屏幕那么小,再切分几个区域,简直没法用。

HTML中的框架集怎么使用? frameset标签应用实例

从技术层面讲,SEO是个大问题。搜索引擎蜘蛛过来爬取内容时,面对框架集就有点懵了,它很难理解这些分散在不同文件里的内容到底有什么关联,哪些是核心。这就导致你的内容很难被有效索引,自然就影响了网站的排名。再者,无障碍性也差,屏幕阅读器对这种结构的处理能力很弱,对残障人士很不友好。还有安全问题,比如点击劫持(clickjacking),攻击者可以利用框架集把恶意页面覆盖在你的页面上,诱导用户点击。维护起来也复杂,你得管理多个独立的HTML文件,它们之间还有联动关系,调试起来头疼。这些缺点累积起来,就让它逐渐退出了历史舞台。

如果必须使用类似框架的功能,有哪些现代替代方案?

那如果我真的需要把页面分成几个区域,或者想在页面里嵌入点什么,现在该怎么做呢?首先,如果你只是想把一个页面布局成几块,比如左边导航右边内容,或者上下两部分,那CSS才是王道。Flexbox和Grid布局简直是为这种需求量身定制的,它们能让你非常灵活地控制元素的排列和尺寸,而且完全在一个文档流里,对SEO和无障碍性都非常友好。

比如,一个简单的两列布局,用CSS Flexbox可以这样实现:



欢迎来到主内容区

这里是页面的主要内容。

这种方式,所有的内容都在一个HTML文件里,管理和维护都方便得多。

如果说要嵌入外部内容,比如YouTube视频、地图或者其他网站的组件,那

HTML全屏设置与fullscreen伪类使用教程HTML全屏设置与fullscreen伪类使用教程
上一篇
HTML全屏设置与fullscreen伪类使用教程
苹果壁纸定制官网入口及使用教程
下一篇
苹果壁纸定制官网入口及使用教程
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    414次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    495次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    502次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    449次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    279次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码