html5能用frameset吗?不能用用什么代替?

html-css022

html5能用frameset吗?不能用用什么代替?,第1张

html5不支持frameset的,所以解决方法有以下两种:

1、 使用iframe,但是目前使用iframe的人已经越来越少了,而且iframe在不同浏览器之间还有不兼容的情况。

2、使用jQuery的onload方法加载页面,不过这种方法跳转多个页面后,点击浏览器上方的后退前进是无效的,不过可以认为的添加一个返回按钮。所以更流行的是这种方法:

举例说明:

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>div+css实现frameset效果</title>

<style type="text/css">

.header{border-bottom:1px solid #cccmargin-bottom:5px}

.MainContainer{min-width:960pxmax-width:1600px}

.sidebar{width:180pxfloat:leftmargin-right:-180pxborder-right:1px solid #cccmin-height:500pxpadding:5px}

.main{float:leftmargin-left:200pxpadding: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、运行效果如下:

可以用jQuery获取到当前的窗口的宽度,来计算iframe的宽和高,示例代码如下:

<iframe src="http://www.baidu.com" frameborder="0" id="demo"></iframe>

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>

<script>

$(document).ready(function() {

  var ifr_width=$(window).width()*0.75

  $("#demo").css('width',ifr_width)

  $("#demo").css('height',ifr_width*0.75)

})

</script>

jQuery中获取当前窗口的宽度代码是:$(window).width()