HTML之FrameSet,Frame和Iframe区别

2024-06-22 16:58

本文主要是介绍HTML之FrameSet,Frame和Iframe区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1 HTML之Frame框架
    • 1.1 各个介绍
      • 1.1.1 Frameset
      • 1.1.2 Frame
      • 1.1.3 Iframe
    • 1.2 区别
      • 1.2.1 Frameset与Frame的区别
      • 1.2.2 Frame与Iframe的区别
        • 1.2.2.1 两者大致区别
        • 1.2.2.2 放置位置区别
        • 1.2.2.3 高度控制区别
        • 1.2.2.4 放置表格
    • 1.3 综合示例

1 HTML之Frame框架

frame,是网页开发必须掌握的知识。例如后台架构、局部刷新,页面分割,都是frame的用途表现,尤其是后台页面制作,使用frame会给用户带来非常舒适的使用感受。
frame知识点包括(frameset标签、frame标签、iframe标签)

1.1 各个介绍

1.1.1 Frameset

  1. 属性
    border:设置框架的边框粗细
    bordercolor:设置框架的边框颜色
    frameborder:设置是否显示框架边框。设定值只有0、1;0 表示不要边框,1 表示要显示边框
    cols:纵向分割页面。其数值表示方法有三种:30%、30(或者30px)、*;数值的个数代表分成的视窗数目且数值之间用,隔开。30%表示该框架区域占全部浏览器页面区域的30%30表示该区域横向宽度为30像素;*表示该区域占用余下页面空间。例如:cols="25%,200,*" 表示将页面分为三部分,左面部分占页面30%,中间横向宽度为200像素,页面余下的作为右面部分。
    rows:横向分割页面。数值表示方法与意义与cols相同。
    framespacing:设置框架与框架间的保留的空白距离。
  2. 用例
<frameset cols="213,*" frameborder="no" border="0" framespacing="0">

注意1:
colsrows两属性尽量不要同在一个<frameset>标签中使用。若要实现下图架构,代码正确写法为:

<frameset rows="59,*" cols="*" frameborder="no" border="0" framespacing="0"><frame src="???" name="topFrame" scrolling="No" noresize="noresize" id="topFrame"/><frameset cols="213,*" frameborder="no" border="0" framespacing="0"><frame src="???" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame"/><frame src="???" name="mainFrame" id="mainFrame"/>

【即,若想即使用cols又使用rows,可利用frameset嵌套实现】
注意2:
<frameset cols="40%,*,*">意思是:第一个框架占整个浏览器窗口的40%,剩下的空间平均分配给另外两个框架。
<frameset cols="*,*,*,*">:意思是:浏览器窗口等分为四部分。

1.1.2 Frame

  1. 属性
    name:设置框架名称。此为必须设置的属性。
    src:设置此框架要显示的网页名称或路径。此为必须设置的属性。
    scrolling:设置是否要显示滚动条。设定值为auto, yes, no
    bordercolor:设置框架的边框颜色。
    frameborder:设置是否显示框架边框。设定值只有0、1;0 表示不要边框,1 表示要显示边框。
    noresize:设置框架大小是否能手动调节。
    marginwidth:设置框架边界和其中内容之间的宽度。
    marginhight:设置框架边界和其中内容之间的高度。
    width:设置框架宽度。
    height:设置框架高度。
    framespacing:设置框架与框架间的保留的空白距离。
  2. 用例
<frame src="???" 
name="topFrame" 
scrolling="No" 
noresize="noresize" 
marginwidth="10" 
marginhight="10" 
width="400" 
height="800" />

1.1.3 Iframe

Iframe是浮动的框架(frame),其常用属性与frame类似,其他的主要有以下(相同的就不列举了)

  1. 属性
    align:设置垂直或水平对齐方式
    allowTransparency:设置或获取对象是否可为透明。
  2. 用例
<iframe name="123" 
align="middle" 
marginwidth="0" 
marginheight=0 
src="???" frameborder="0" 
scrolling="no" width="776" 
height="2500"></iframe>

注意:
iframe标签与framesetframe标签的验证方法不同,是XHTML 1.0 Transitional。且iframe是放在body标签之内,而frameset、frame是放在body标签之外

1.2 区别

1.2.1 Frameset与Frame的区别

首先讲解FramesetFrame之间的区别
<Frameset></Frameset>用来划分框架,每一个框架由<Frame></Frame>标记。<Frame></Frame>必须在<Frameset></Frameset>之内使用
代码如下:

<FRAMESET border=1 frameSpacing=1 borderColor=#47478d rows=* cols=180,*>
<FRAME src="inc/admin_left.htm" name=left scrolling=no id="left">
<FRAME src="inc/admin_center.htm" name=main scrolling="no">
</FRAMESET>

在上面的例子当中,<Frameset></Frameset>把页面分为左右两个部分,左侧框架中的页面是admin_left.htm,右侧框架中的页面是admin_center.htm
注意:<Frame></Frame>标记的框架顺序为从左至右或从上到下。

两者的差别如下:

  • <Frameset>为框架标记,说明该网页文档为框架组成,并设定文档中组成框架集的框架的布局。
  • <Frame>用以设置组成框架集中各个框架的属性。

1.2.2 Frame与Iframe的区别

1.2.2.1 两者大致区别
  1. FrameIframe两者可以实现的功能基本相同,不过IframeFrame具有更多的灵活性
  2. frame不能脱离frameSet单独使用,iframe可以
  3. Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame></Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内容的代码。
  4. iframe用起来更灵活,不需要frame那么多讲究
    而且放的位置也可以自己设,iframe是内嵌的,比较灵活,不过也有不好的地方,就是位置在不同的浏览器和分辨率下有可能不同,有时会把本来好好的页面搞得变形
1.2.2.2 放置位置区别

frameset不能放在body中;如下可以正常显示:

<frameset rows="50%,*"> <frame   name="frame1"   src="test1.htm"/>  <frame   name="frame2"   src="test2.htm"/>  
</frameset> 

嵌套在frameSet中的iframe必需放在body中;如下可以正常显示:

  <body> <frameset>  <iframe   name="frame1"   src="test1.htm"/>  <iframe   name="frame2"   src="test2.htm"/>  </frameset>  </body> 

不嵌套在frameSet中的iframe可以随意使用;
如下均可以正常显示:

<body> <iframe   name="frame1"   src="test1.htm"/>  <iframe   name="frame2"   src="test2.htm"/>  
</body> <!--<body>--> <iframe   name="frame1"   src="test1.htm"/>  <iframe   name="frame2"   src="test2.htm"/>  
<!--</body>--> 
1.2.2.3 高度控制区别

frame的高度只能通过frameSet控制;iframe可以自己控制,不能通过frameSet控制,如:

<!--<body>--> 
<frameset rows="50%,*"> <frame   name="frame1"   src="test1.htm"/>  <frame   name="frame2"   src="test2.htm"/>  
</frameset> 
<!--</body>--> <body> 
<frameset> <iframe height="30%"  name="frame1"   src="test1.htm"/>  <iframe height="100"  name="frame2"   src="test2.htm"/>  
</frameset> 
</body> 
1.2.2.4 放置表格

iframe 可以放到表格里面。frame 则不行。

<table> 
<tr> 
<td><iframe id="" src=""></iframe></td><td></td> 
</tr> 
</table> 

1.3 综合示例

<html>
<head>
<title>综合示例</title>
</head>
<frameset cols="25%,*">
<frame src="menu.htm" scrolling="no" name="Left">
<frame src="page1.htm" scrolling="auto" name="Main">
<noframes>
<body>
<p>对不起,您的浏览器不支持“框架”!</p>
</body>
</noframes>
</frameset>
</html>

【说明】
<noframes></noframes>标志对也是放在<frameset></frameset>标志对之间,用来在那些不支持框架的浏览器中显示文本或图像信息。在此标志对之间先紧跟<body></body>标志对,然后才可以使用我们熟悉的任何标志。

这篇关于HTML之FrameSet,Frame和Iframe区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084880

相关文章

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

python中json.dumps和json.dump区别

《python中json.dumps和json.dump区别》json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个... 目录1、json.dumps和json.dump的区别2、使用 json.dumps() 然后写入文

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️