今天来写点不一样的。如下图:
实现的效果就是原生的类似于导航形式的frameset.
frameset
注意: 包含frameset的网页应该只是作为框架而存在,所以不能有body标签。
这个标签可以在任何一个浏览器上展现出来。一般来说我们会使用这个标签做成上图的样子。这样方便给用户一个更好的用户体验。
要想使用这个标签我们需要掌握下面的一点小知识。那就是如何分配整个网页。
- cols : 纵向分配页面,可以是相对的百分比形式(逗号分隔列与列即可)也可以是绝对的像素大小
- rows :横向分配页面,其他的和cols一样
- name : 被分割的页面的代称。
- src : 被分割的小页面将会显示出的html文件的路径名称
frame
frame标签作为frameset的子标签而存在,多个frame分割了整个网页
frame在frameset中的name属性的值将会被其他的超链接所引用。
这一点很重要,待会可以在一个小例子中看到。
- noresize=”noresize” : 加上了这个属性的frame的大小就不能被调整了。
实战布局
我的思路如下:
- 框架:main.html
- 导航页,出现在框架的左侧: list.html
- 导航页中使用到的网页文本: one.html,two.html,three.html
代码
main.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>分帧测试实例</title>
</head>
<div align="center">
<div style="width:30%">
<frameset cols = "20%,*">
<frame name = "frame1" src = "list.html" noresize="noresize">
<frame name = "frame2" src = "one.html" >
</frameset>
</div>
</div>
</html>
list.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>导航主页</title>
</head>
<body>
<ul>
<li><a href="one.html" target="frame2">One.html</a></li>
<li><a href="two.html" target="frame2">Two.html</a></li>
<li><a href="three.html" target="frame2">Three.html</a></li>
</ul>
</body>
</html>
one.html/two.html/three.html
由于页面相似,这里仅仅列出第二个吧。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Two Html</title>
</head>
<body bgcolor = "silver">
<span> 这里是 Two.html页面</span><br><hr>
<img src="http://imglf0.ph.126.net/9kjQJp3Q5GoxmXDYmAI_Dg==/6631693387815785343.jpg">
</body>
</html>
结果展示
以及下面
总结
frameset与frame的配合使用在XX管理系统这种目标性强的业务场合比较常用,这里仅仅是展示了最简单的场景,我们在实际的开发中会使用JavaScript来实现交互性更强的页面,以及配合各种CSS渲染来实现各种高大上的页面效果。
希望这篇文章能给对此有迷惑的你一点启发。