frameset 与frame 设置的技巧

今天来写点不一样的。如下图:

实现的效果就是原生的类似于导航形式的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渲染来实现各种高大上的页面效果。

希望这篇文章能给对此有迷惑的你一点启发。

你可能感兴趣的:(frame,FRAMESET,html自制导航)