Home  >  Article  >  Web Front-end  >  求助,DIV自适应浏览器高度_html/css_WEB-ITnose

求助,DIV自适应浏览器高度_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-21 09:48:321244browse

本帖最后由 sylyu4 于 2012-07-03 16:41:40 编辑

我一个页面,代码如下:
 nbsp;html PUBLIC "-//w3c//dtd html 4.0 transitional//en">


无标题文档 
 

  
 header 
  
   
 
     
 left  

      
 right 
    
   
   
 footer
   
                
   
 

 
显示结果如下图:


我想要的结果是:
整个页面只显示一屏,
中间左右两栏要随浏览器自适应高度,因为 right 里边要加内容。
padding-top:130px; 
 *padding-top:133px!important;
 padding-bottom:50px;
我设了这个高度,是因为#center的内容会顶上去,然后被header挡住。。不知道为什么。。。。

  
现在这个代码可以实现这步,各浏览器都有测试。
现在问题是,margin:0px auto;
这个在IE下不生效,页面不能居中 ,,,FF,GOOGLE浏览器都能居中。。
试过这个方法,在body里直接设,text-algin:center
因为我的实际页面有点复杂,结果后面所有的图片文字都居中了,我得一个个去调,太麻烦了。。。放弃。。。
然后在网上查到这个:
 因为我最先声明的是
这个:“nbsp;html PUBLIC "-//w3c//dtd html 4.0 transitional//en">”
网上搜了一下,好像这个就会导致在IE中不能实现居中。

然后我把这下声明换成:
“nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">”

就可以在IE下居中,其他浏览器也都可以。可是,左右两栏随浏览器自适应高度又出问题了。。。
如下图:


有点乱,,,求高手解。。。。怎么办啊。


回复讨论(解决方案)

用个JS多简单!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">body{color:#000;margin:0;padding:0;}#main_container{ width:1000px; height:100%; display:block; margin:0 auto; padding:0; overflow:hidden; background-color:#066;}#header{ width:1000px; margin:0 auto; background-color:#09F; height:130px;}#center{ width:1000px;height:100%;overflow:auto; background-color:#993; }.left_content{ width:190px; float:left; height:100%; overflow: hidden; border-right:1px #005283 solid; background-color:#666;}#right_content{ width:809px; float:right; margin:0; height:100%; overflow:auto; background-color:#393;}.footer{ width:1000px; clear:both; height:50px; margin:0 auto;background-color:#F03;}</style></head><body><div id="main_container">  <div id="header"> header </div>  <div id="center">    <div class="left_content"> left </div>    <div id="right_content"> right </div>  </div>  <div class="footer"> footer </div></div><script>function $2(id){ return document.getElementById(id);}var winHeight = 0;function findDimensions(){if (window.innerHeight)winHeight = window.innerHeight;else if ((document.body) && (document.body.clientHeight))winHeight = document.body.clientHeight;if (document.documentElement && document.documentElement.clientHeight){	winHeight = document.documentElement.clientHeight;}var iframe = $2("center");iframe.style.height=winHeight-50-130+"px";}findDimensions();window.onresize=findDimensions;</script></body></html>

使用绝对定位也能实现自动适应高度。

用绝对定位。

谢谢三位。 解决了。 

我也需要啊,该如何是好呢?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn