2014-09-26 3 views
1

Это боль использовать равную высоту с чистым css, который поддерживает как минимум ie9 и хорошие браузеры. Итак, я решил использовать js вместо этого. Если на стороне пользователя нет js, то, не имея равных высот, является наименьшей из моих проблем.Равная высота по сценарию

Однако у меня есть очень конкретная просьба об этой ситуации «равной высоты».

Использование гибкого, с помощью других пользователей SO, мы можем иметь:

http://jsfiddle.net/4an5r1b3/1/

HTML

<div class="container"> 
    <div class="col left"> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <div class="bottom-yeah"> 
      <p>lorem ipsium</p> 
      <p>lorem ipsium</p> 
      <p>lorem ipsium</p> 
     </div> 

    </div> 
    <div class="col right"> 
     <p>lorem ipsium</p>  
     <p>lorem ipsium</p>  
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
     <p>lorem ipsium</p> 
    </div> 
</div> 

CSS: .container { дисплей : flex; }

.col { 
    float: left; 
    width: 30%; 
    color: #fff; 
} 

.col.left { 
    display: flex; 
    flex-direction: column; 
    background-color: transparent; 
    color: red; 
} 

.col.right { 
    background-color: blue; 
} 

.bottom-yeah { 
    flex-grow: 1; 
    margin-top: 50px; 
    background-color: yellow; 
} 

Я интересно, если мы можем достичь того же, с помощью JQuery, так что старые браузеры могли бы вести себя так же?

Любой известный скрипт, который делает это, чтобы мы не изобретали здесь колесо?

+1

Если у вас есть только текстовые данные, то почему бы не использовать 'table' тогда? – Vucko

+0

Это пример. У меня нет только текстовых данных. Это может быть что угодно. – MEM

ответ

0
var leftHeight = $('.col.left').height(); 
var rightHeight = $('.col.right').height(); 

if (leftHeight > rightHeight) 
{ 
    $('.col.right').height(leftHeight); 
} else { 
    $('.col.left').height(rightHeight); 
} 

Если ваш сайт реагирует, вы можете поместить это в функцию и вызвать его на $ (окно) .resize

+0

Если вы приложите его к размеру, вы, вероятно, захотите заблокировать функцию. – DNACode

+0

Как это сделать желтую часть, чтобы коснуться голубой? Я думаю, что это сделают столбцы равной высоты. Нет? Я буду исследовать дальше. Спасибо за ваше время. – MEM

Смежные вопросы