论坛首页 Web前端技术论坛

关于两个div高度保持一致的(css+js)两种解决办法

浏览 3390 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-10-14  

最近修改以前写的一些代码,发现点问题。

比如2个div需要动态的保持一致的高度。

css的做法是: 可以500%提高开发效率的前端UI框架!

<div style="overflow:hidden">
        
<div id="left" style="margin-bottom:-10000px; padding-bottom:10000px;"></div>
        
<div id="right" style="margin-bottom:-10000px; padding-bottom:10000px;"></div>
        
</div>

 

 

 

如果实际的高度不大于10000px,那么这个是没有问题的,如果有一边的实际高度大于了10000px,则另外一边的高度只能被定义为10000px,不符合实际运用的需求。

 

经过测试,用js可以解决这个问题。

代码如下: 可以500%提高开发效率的前端UI框架!

var height = document.getElementById("left").offsetHeight > document.getElementById("right").offsetHeight ? 
    document.getElementById("left").offsetHeight : document.getElementById("right").offsetHeight;
        
        
document.getElementById("left").style.height = document.getElementById("right").style.height = height + "px";

 

 

 

另外,在实际运用,可能还会存在由于左div或右div存在padding属性而导致上述取值变多或变少的问题。比如,最终赋值时发现left比right还高10px,这种情况只有手动在代码里面减10来解决了。这也是不太完美的地方。

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics