rame 的最主要功能是用来把一个页面划分成好几个小窗口页面,每个小窗口可以显示不同html文件,这样页面也可以称为框架结构页面,每个月小窗口称作框架窗口,下来将详细介绍框架窗口。
frame 在现在已经很少使用,虽然不是必须学习的,但还是建议了解学习下frame 、iframe的知识,在某些时候非常有用。
如果想将页面分成上下两部分,各自互相独立又互相关联,用户在其中一个部分操作页面不影响其它部分的页面,这样的页面也叫多窗口页面。
1、框架窗口基本结构:
框架窗口主要包含2部分,一个是框架集,一个是具体的框架文件。
框架集就是存放框架结构的文件,也是访问框架文件的入口,如果网页由上下2个框架窗口组成,那么除了这2个窗口的html文件,还有一个总的框架集文件。
框架文件是每个显示区域对应的html文件,如下示例:
index.html
<html>
<head>
<title>框架页面</title>
</head>
<body>
<frameset>
<frame src="top.html"></frame>
<frame src="bottom.html"></frame>
</frameset>
</body>
</html>
如上index.html 就是框架集文件,在这个框架集文件中定义了页面划分成上下2部分,分别对应top.html 和 bottom.html 2个框架窗口文件。
2、框架窗口分割
框架页面分割方式是在框架集frameset通过rows 或 cols 属性定义的,一般按分割类型分为以下几种:
2.1 水平分割窗口
将页面按水平方向分割,也就是上下结构,语法:
<frameset rows="窗口1高度,窗口2高度,">
<frame src="top.html"></frame>
<frame src="bottom.html"></frame>
</frameset>
在该语法中,rows 可以设置多个值,每个值对应一个框架窗口垂直高度,它的值可以使用像素单位或百分比单位。
如下示例:
<html>
<frameset rows="25%,50%,25%">
<frame src="/example/html/frame_a.html">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</html>
显示效果:
比如上面这个,被从上到下分割成3个窗口,高度依次是25%,50%,25%。
2.2 垂直分割窗口
沿着页面垂直方向分割,也就是左右结构的多窗口页面。语法如下:
<frameset cols="窗口1宽度,窗口2宽度,">
<frame src="left.html"></frame>
<frame src="right.html"></frame>
</frameset>
在该语法中,cols 可以设置多个值,每个值对应一个框架窗口水平宽度,它的值可以使用像素单位或百分比单位。
示例:
<html>
<frameset cols="25%,50%,25%">
<frame src="/example/html/frame_a.html">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</html>
显示效果:
比如上面这个,被从左到右分割成3个窗口,宽度依次是25%,50%,25%。
2.3、嵌套分割窗口
嵌套窗口就是在一个页面既有水平分割又有垂直分割的窗口,如下示例:
先水平分割再垂直分割
<frameset rows="50%,50%">
<frame src="/example/html/frame_a.html">
<frameset cols="25%,75%">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</frameset>
显示效果:
先垂直分割再水平分割
<frameset cols="50%,50%">
<frame src="/example/html/frame_a.html">
<frameset rows="25%,75%">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</frameset>
显示效果:
理论上可以无限嵌套,是不是很好玩。
2.4、noframes
当浏览器布置frame 时会显示noframes 中的内容。如下代码:
<html>
<frameset rows="50%,50%" frameborder="1" framespacing="100" bordercolor="blue">
<frame src="/example/html/frame_a.html">
<frameset cols="25%,75%" frameborder="0" bordercolor="orange">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</frameset>
</html>
效果显示:
1、设置边框 —— frameborder
frameborder 等于0时不显示边框,默认显示。
2、边框宽度 —— framespacing
在html5中无效。
3、边框颜色 —— bordercolor
如下代码:
<html>
<frameset rows="50%,50%" frameborder="1" framespacing="100" bordercolor="blue">
<frame src="/example/html/frame_a.html">
<frameset cols="25%,75%" frameborder="0" bordercolor="orange">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</frameset>
</html>
效果:
具体可以参考这里 https://www.cnblogs.com/lavenderzh/archive/2012/04/09/2438803.html 查看这几个属性的关系。
1、页面源文件 —— src
就是每个框架窗口对应的html文件,这里可以是图片或其它文件。
<frame src="文件地址">
2、页面名称 —— name
给每个框架窗口设置名称,有助于链接或查找窗口。
<frame src="文件地址" name="页面名称">
3、禁止调整窗口尺寸 —— noresize
党员鼠标拖到框架边框时,会发现鼠标形状变成可拖动的,可以改不框架窗口宽度或高度。如果不希望改变窗口宽度或高度,可以使用noresize 属性。
如下示例:
<html>
<frameset cols="25%,50%,25%">
<frame noresize="noresize" src="/example/html/frame_a.html">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</html>
窗口a是不可改变宽度的。
浮动框架是一种特殊的框架,它是在主窗口中嵌套一个子窗口,也就是整个页面不是框架页面,但却包含了一个框架窗口。
示例:
<iframe name="名称" src="https://www.w3school.com.cn/" width="800px" height="600px"></iframe>
效果如下:
1、浮动框架边框 —— frameborder
frameborder 属性规定是否显示 iframe 周围的边框。设置属性值为 "0" 就可以移除边框:
<iframe src="demo_iframe.htm" frameborder="0"></iframe>
显示效果:
2、链接到框架页面
通过 a 标签的 target 属性可以跳转到框架页面,示例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<iframe src="http://www.runoob.com/" name="iframe_a"></iframe>
<p><a href="https://mp.toutiao.com/" target="iframe_a">头条号</a></p>
<p><a href="http://www.runoob.com/" target="iframe_a">菜鸟教程</a></p>
</body>
</html>
显示效果如下,点击下面2个链接,切换窗口。
frame 和 iframe 浮动框架用途很广,比如可以实现页面局部刷新,在之前被广泛使用,但是现在基本不建议使用,它有很多问题,比如安全性,性能方面等。
当然有时也会使用iframe,比如打印pdf,下载文件等等。
上篇:前端入门——html 表单控件使用
除的元素
1、能用css代替的元素
basefont、big、center、font、s、strike、tt、u。这些元素纯粹是为画面展示服务的,HTML5中提倡把画面展示性功能放在css中统一编辑。
2、不再使用frame框架。
frameset、frame、noframes。HTML5中不支持frame框架,只支持iframe框架,或者用服务器方创建的由多个页面组成的符合页面的形式,
删除以上这三个标签。
3、只有部分浏览器支持的元素
applet、bgsound、blink、marquee等标签。
4、其他被废除的元素
废除rb, 使用ruby替代。
废除acronym使用abbr替代。
废除dir使用ul替代。
废除isindex使用form与input相结合的方式替代
废除listing使用pre替代
废除xmp使用code替代
废除nextid使用guids
废除plaintex使用“text/plian”(无格式正文)MIME类型替代。
TML5从入门到精通,兄弟连京修随堂笔记(一)HTML的框架结构,每日都有新内容,订阅走一波
一个浏览器窗体可以通过几个页面的组合来显示。我们可以使用框架来完成(frames)这项工作。(框架可以把HTML文档分为多个页面)。也就是将一个浏览器文档窗口分隔成多个窗口,每个窗口都可以显示一个独立的网页文件。
框架页使用了表格的方式组合,可以分为数行与数列。
框架的优点
重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,增加了网页下载速度)。
方便制作导航栏。
框架的缺点
会产生很多页面,不容易管理。
不容易打印。
浏览器的后退按钮无效。
代码复杂,无法被一些搜索引擎索引到。
多数小型的移动设备(PDA 手机)无法完全显示框架。
多框架的页面会增加服务器的http请求。
由于上面诸多缺点,因此不符合标准网页设计的理念.已被标准网页设计抛弃
HTML框架标签
<frameset>标签 -- 代替body标签定义了框架页,并且定义了框架将分为多少行与多少列。常用属性如下:
cols -- 定义了框架含有多少列与列的大小(每个值使用逗号分隔),取值为象素px或者百分比%
rows -- 定义了框架含有多少行与行的大小(每个值使用逗号分隔),取值为象素px或者百分比%
border -- 定义frame定义的框架页的边框(单位像素),使用css实现
frameborder -- 定义框架页是否边框(此属性应写在frame标签内部,不应在此出现)
framespacing -- 定义框架页之间间隔的距离,使用css实现
<noframes>标签
可为那些不支持框架的浏览器显示文本,和<body>组合使用
<iframe>标签
创建一个包含另外一个文档的内联框架,iframe标签内的内容可以做为浏览器不支持iframe标签时显示 。
frame标签 -- 定义frameset标签中每个框架页的内容
frame标签是单独出现的,<frame />
常用属性:
frameborder -- 定义了内容页的边框,取值为(1|0),缺省值为1
1 -- 在每个页面之间都显示边框
0 -- 不显示边框
name -- 在一个框架页链接到另一框架页时使用(另一个框架页可以使用target定义链接页)
noresize -- 定义了浏览者是否可以通过拖拽改变框架页尺寸,取值为(noresize)
scrolling -- 定义是否有滚动条,取值为(yes|no|auto),缺省值为auto
yes -- 显示滚动条
no -- 不显示滚动条
auto -- 当需要时再显示滚动条
src -- 定义了内容页URL
border – 设置边框粗细
HTML框架示例
<html> <!-- 网页开始标记 -->
<head>
<title>使用框架定义后台管理平台模型</title>
</head> <!-- 设置网页标题 -->
<frameset rows="80,*" frameborder="1" border="5"> <!-- 划分两行 -->
<frame src="top.html" name="top" scrolling="no" noresize/> <!-- 顶部大类窗体 -->
<frameset cols="200, *"> <!-- 划分左右两列 -->
<frame src="menu.html" name="menu" scrolling="no" noresize/>
<!-- 左边菜单窗体 -->
<frame src="main.html" name="main" noresize />
<!-- 右边内容窗体 -->
</frameset> <!-- 内层框架结束 -->
<noframes>
<body><p>您的浏览器不支持框架,请升级浏览器</p></body>
</noframes>
</frameset> <!-- 外层框架结束 -->
</html>
*请认真填写需求信息,我们会在24小时内与您取得联系。