css实现占满屏幕高度

html-css012

css实现占满屏幕高度,第1张

实现div占满整个屏幕

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以下就别想兼容了)