html 框架 iframe
1 为什么需要iframe
frameset是把多个已经有页面整合成一个新的页面,这个新页面并非普通页面:只有frameset,没有body。
能否在一个普通页面里嵌套另外一个页面?能。
iframe可以在一个普通页面的指定位置嵌套另一个页面。
2 语法
<iframe src="页面地址" >
可以页面1的指定位置放入页面2。
3 示例
准备工作
d10-iframe-p1.html页面内容如下
<body>
<div>页面1 AAAA</div>
<div>页面1 BBBB</div>
<div>页面1 CCCC</div>
<div>页面1 DDD</div>
</body>
d10-iframe-p2.html页面内容如下
<body>
<div style="width: 300px;height: 200px;background-color: #00f;color:#fff;">页面2</div>
</body>
现在需要在d10-iframe-p1.html的第3行 "页面1 CCCC"后放入 d10-iframe-p2.htm页面的内容。
p1.html页面修改如下
<body>
<div>页面1 AAAA</div>
<div>页面1 BBBB</div>
<div>页面1 CCCC</div>
<iframe src="d10-iframe-p2.html"></iframe>
<div>页面1 DDD</div>
</body>
iframe默认样式有点丑,接一来进一步美化。
4 iframe常用属性
iframe常用属性 | 说明 |
---|---|
src | 嵌入页面地址。 |
width | 宽度。 |
height | 高度。 |
frameborder | 默认显示边框,丑。设置为0取消。 |
scrolling | 当宽高超出时,会显示滚动条。设置为no取消。 |
name | 设置名称,类似与frame的name,与链接a标签的target配合使用。 |
iframe的宽高:并不会根据被嵌入页面的宽高来自动调整宽高。后续可以通过JavaScript来做自适应。这里我们先通过width与height设置宽度。
<iframe src="d10-iframe-p2.html" width="300px" height="200px" frameborder="0" scrolling="no"></iframe>
优化后样式
5 通过iframe实现后台管理首页布局
打开时默认效果
当点击页面1或页面2的链接时,下方显示相应页面。
后台管理页面布局特点
用户切换菜单时,整个页面好像并没有跳转, 用户体验良好。
具体实现
三个基础页面:d09-welcome,d09-page1.html,d09-page2.html,代码略。
"后台首页" d10-iframe-p3.html代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" >
<title>html iframe 例子 | 关关教程</title>
</head>
<body>
<h1>导航菜单</h1>
<div><a href="d09-page1.html" target="frameMain">页面1</a></div>
<div><a href="d09-page2.html" target="frameMain">页面2</a></div>
<div>
<iframe src="d09-welcome.html" name="frameMain" width="300px" height="200px" frameborder="0" scrolling="no"></iframe>
</div>
</body>
</html>
链接的target属性与iframe的name属性一致,表示点击链接时,在iframe的位置打开新页面。