1)通过css高度100%,但是要div的父级元素高度为100%
前提:以知父级元素并且父级元素高度可控
2)通过100vh
前提:适合移动端或者不用兼容IE的项目
3)使用定位拉伸
让页面在不同分辨率下都全屏显示,完整代码参考如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title>实现两边固定宽度,中间自适应宽度-</title>
<style>
body{ margin:0 padding:10px}
#head{ margin-bottom:10px height:50px background-color:#999999}
#main{}
#left{ width:200px float:leftmargin-right:-200px background-color:#FF9900}
#mid{ width:autobackground:#00FF00margin:0 220pxborder:1px solid #000}
#right{ width:200pxmargin-left:-200px float:right background-color:#CCCC00}
#foot{ margin-top:10px clear:both height:50px background-color:#CCCCCC}
</style>
</head>
<body>
<div id="head">我是头部</div>
<div id="main">
<div id="left">我是左边,宽:200px</div>
<div id="right">我是右边,宽:200px</div>
<div id="mid">我是中间,宽自适应</div>
</div>
<div id="foot">我是底部</div>
</body>
</html>
纯css实现不到那个程度,因为,你想象,
在body里放一个div------让这个div无论何时都100%显示(里面要有内容不然显示不了,比如<img>,<p>,他们的长宽参数也设置成100%或者70%等等)-
当浏览器窗口长宽变化时,div和里面的内容总是跟着动的,这能做到(电脑屏幕如果只有800,那网页就会自动变长),但是要注意这绝对满足不了‘全屏’的要求,拉伸了面积,但是字号、边框宽度都是不变的,所以等于是在改变layout。
如果要做这个效果的话(拉伸浏览器、实时拉伸里面的内容使之永远‘全屏’):
在以前多是选择做成一个大的flash,100%的长宽贴在网页上,调一些scale参数(方便),
现在flash变的不那么流行了你可以用javascrip实现(有点麻烦,很少见到这样实现的),
或者html5的canvas能够达到此效果(可惜ie8以下就别想兼容了)