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

agevs 2014-10-14

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

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

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

.代码  收藏代码
  1. <div style="overflow:hidden">  
  2.           
  3. <div id="left" style="margin-bottom:-10000px; padding-bottom:10000px;"></div>  
  4.           
  5. <div id="right" style="margin-bottom:-10000px; padding-bottom:10000px;"></div>  
  6.           
  7. </div>  

 

 

 

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

 

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

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

.代码  收藏代码
  1. var height = document.getElementById("left").offsetHeight > document.getElementById("right").offsetHeight ?   
  2.     document.getElementById("left").offsetHeight : document.getElementById("right").offsetHeight;  
  3.           
  4.           
  5. document.getElementById("left").style.height = document.getElementById("right").style.height = height + "px";  

 

 

 

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

Global site tag (gtag.js) - Google Analytics