>  기사  >  웹 프론트엔드  >  求助,DIV自适应浏览器高度_html/css_WEB-ITnose

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

WBOY
WBOY원래의
2016-06-21 09:48:321244검색

本帖最后由 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>

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

用绝对定位。

谢谢三位。 解决了。 

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.