>  기사  >  웹 프론트엔드  >  div如何铺满剩余高度或宽度_html/css_WEB-ITnose

div如何铺满剩余高度或宽度_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 12:01:232535검색

假设一个div1,里面有div2和div3,div2已经布局好了高度固定,如何让div3铺满剩下的高度?请附上自写的代码,谢谢!


回复讨论(解决方案)

求人气。



function getdomheight(dom){   //获取一个dom的高度
     return dom.offsetHeight;
}


var div1 = document.getElementById('div1的id');
var div2 = document.getElementById('div2的id');
var div3 = document.getElementById('div3的id');

div3.style.height =  getdomheight(div1) - getdomheight(div2) +'px';

就是减法 

function getdomheight(dom){   //获取一个dom的高度
     return dom.offsetHeight;
}


var div1 = document.getElementById('div1的id');
var div2 = document.getElementById('div2的id');
var div3 = document.getElementById('div3的id');

div3.style.height =  getdomheight(div1) - getdomheight(div2) +'px';

就是减法 


有没有用css就能实现的?




function getdomheight(dom){   //获取一个dom的高度
     return dom.offsetHeight;
}


var div1 = document.getElementById('div1的id');
var div2 = document.getElementById('div2的id');
var div3 = document.getElementById('div3的id');

div3.style.height =  getdomheight(div1) - getdomheight(div2) +'px';

就是减法 


有没有用css就能实现的?

查阅 css盒布局 
另外只是老浏览器不支持

function getdomheight(dom){   //获取一个dom的高度
     return dom.offsetHeight;
}


var div1 = document.getElementById('div1的id');
var div2 = document.getElementById('div2的id');
var div3 = document.getElementById('div3的id');

div3.style.height =  getdomheight(div1) - getdomheight(div2) +'px';

就是减法 


这个方法不行,没有抛出异常?

用jQuery获取高度相减,兼容性较好;
下面例子中border仅用于查看是否实现想要效果,实际应用时如果有border,相减时需要将border考虑进去

nbsp;HTML>
<script></script>
<script> <br /> $(document).ready(function(){ <br /> init(); <br /> }); <br /> function init(){ <br /> var h1 = $("#d1").height(); <br /> var h2 = $("#d2").height(); <br /> var style = "height:"+(h1-h2)+"px;background:grey;width:100%;" <br /> $("#d3").attr("style",style); <br /> } <br /> </script>









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