html5能用frameset吗?不能用用什么代替?
2016-06-29 · 百度知道合伙人官方认证企业
html5不支持frameset的,所以解决方法有以下两种:
1、 使用iframe,但是目前使用iframe的人已经越来越少了,而且iframe在不同浏览器之间还有不兼容的情况。
2、使用jQuery的onload方法加载页面,不过这种方法跳转多个页面后,点击浏览器上方的后退前进是无效的,不过可以认为的添加一个返回按钮。所以更流行的是这种方法:
举例说明:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>div+css实现frameset效果</title>
<style type="text/css">
.header{border-bottom:1px solid #ccc;margin-bottom:5px;}
.MainContainer{min-width:960px;max-width:1600px;}
.sidebar{width:180px;float:left;margin-right:-180px;border-right:1px solid #ccc;min-height:500px;padding:5px;}
.main{float:left;margin-left:200px;padding:5px;}
.content{padding:0 10px;}
</style>
</head>
<body>
<div class="page">
<div class="header">
<div id="title">
<h1>顶部</h1>
</div>
</div>
<div class="MainContainer">
<div class="sidebar">
边栏
</div>
<div id="main" class="main">
内容
</div>
</div>
</div>
</body>
</html>
4、运行效果如下:
html5最新的版本是不支持frameset标签的,可以用如下方式替代:
1. 使用iframe,但是目前使用iframe的人已经越来越少,而且iframe在不同浏览器之间还有不兼容的情况。
2. 使用jQuery的onload方法加载页面,不过这种方法跳转多个页面后,点击浏览器上方的后退前进是无效的,不过可以认为的添加一个返回按钮。
$("#main").load("mainIndex.html",function(){
});
对于页面,div+css可以实现frame的效果
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>div+css实现frameset效果</title>
<style type="text/css">
.header{border-bottom:1px solid #ccc;margin-bottom:5px;}
.MainContainer{min-width:960px;max-width:1600px;}
.sidebar{width:180px;float:left;margin-right:-180px;border-right:1px solid #ccc;min-height:500px;padding:5px;}
.main{float:left;margin-left:200px;padding:5px;}
.content{padding:0 10px;}
</style>
</head>
<body>
<div class="page">
<div class="header">
<div id="title">
<h1>顶部</h1>
</div>
</div>
<div class="MainContainer">
<div class="sidebar">
边栏
</div>
<div id="main" class="main">
内容
</div>
</div>
</div>
</body>
</html>
bootstrap可以直接用col-md-x代替
比如说在一个div框架中
col-md-1 是一个100%大框
col-md-2是两个50%框
col-md-3是三个框
。。。
2017-06-25
不过一般不推荐使用
可以使用iframe