让2个并列的div根据内容自动保持同等高度js

有左右2个并列的div,2个div都不能限定高度。左div为导航,右div为内容。如何能让左div块自动获得和右div块相等的高度?

同时,也有网友提问到“如果右块高度比左块低,会不会导致左块的内容被溢出不显示之类的问题。应该是取左右2者的最高值吧来对齐吧”。

技术分享

的确应该是哪个div Height值大,就将其值赋给Height值小的div,从而使2个div高度始终保持一致。


function $(id){ 
    return document.getElementById(id) 
} 
function getHeight() { 
    if ($("left").offsetHeight>=$("right").offsetHeight){
        $("right").style.height=$("left").offsetHeight + "px";
    }
    else{
        $("left").style.height=$("right").offsetHeight + "px";
    }    
}
window.onload = function() {
    getHeight();
}

经测试,该代码有效。

 

另外,在实际运用,可能还会存在由于左div或右div存在padding属性而导致上述取值变多或变少的问题。比如,最终赋值时发现left比right还高10px,那么也可以通过修改上述代码解决:

$("left").style.height=$("right").offsetHeight-10 + "px";

http://blog.163.com/sharesun@126/blog/static/5749096200931121250435/ 让并排的两个Div自适应高度(一样高) 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。