2016-04-08 3 views
0

Я на мгновение ударился головой о стену. У меня есть эти 2 столбца, которые должны следовать друг за другом по высоте, поэтому они должны быть расположены относительно друг относительно друга, так как содержимое каждого столбца меняется, а иногда одно из них самое высокое, а иногда и наоборот. См JSFiddle ниже:Сделать 2 относительных divs равной высоте?

https://jsfiddle.net/eguxejfc/1/

<div class="wrapper"> 
    <div class="left"> 
    fsdfdsf 
    </div> 
    <div class="right"> 
    fsdfdsf 
    </div> 
    <div style="clear:both"></div> 
</div> 

Как сделать .right таким же высоким, как .left пока не превышая .wrapper?

+0

Возможный дубликат [Как сохранить два divs, которые бок о бок одинаковой высоты?] (Http://stackoverflow.com/questions/2997767/how-do-i-keep-two-divs-that -are-side-by-side-the-same-height) – Vucko

+0

Хотелось бы избежать javascript, но не могли бы вы рассказать о flexbox/table-cell, я пробовал раньше, но я не мог заставить его работать. – madsjorg

ответ

2

Используйте flexbox, но не забудьте префикс поставщика.

.wrapper { 
 
    position: relative; 
 
    width:100%; 
 
    height: 300px; 
 
    background: yellow; 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 

 
.left { 
 
    flex: 0 0 65%; 
 
    background: red; 
 
    margin-left: 5%; 
 
} 
 

 
.right { 
 
    flex: 0 0 25%; 
 
    background: blue; 
 
    margin-right: 5%; 
 
}
<div class="wrapper"> 
 
    <div class="left"> 
 
    fsdfdsf 
 
    </div> 
 
    <div class="right"> 
 
    fsdfdsf 
 
    </div> 
 
    <div style="clear:both"></div> 
 
</div>

+0

Thank вы, теперь я просто надеюсь, что поддержка браузера достаточно хороша для клиента. – madsjorg

0

Вы можете сделать это с помощью JQuery:

<div class="wrapper"> 
<div class="left"> 
    fsdfdsf 
</div> 
<div class="right"> 
    fsdfdsf 
</div> 
<div style="clear:both"></div> 

Jquery:

$(document).ready(function(){ 
var height = 0; 
if($(".left").height() > $(".right").height()) { 
    height = $(".left").height(); 
    $(".right").height(height); 
}else{ 
    height = $(".right").height(); 
    $(".left").height(height); 
} 
}); 

DEMO: http://codepen.io/anon/pen/JXMpve