2016-11-07 4 views
1

Я хочу, чтобы все столбцы были одинаковой высоты подряд. Таким образом, все столбцы в строке должны иметь ту же высоту, что и любой столбец с максимальной высотой.twitter bootstrap - установка высоты столбца на основе максимальной высоты столбца

Скрипач:https://jsfiddle.net/ebwwvy6m/11/

<div class="container-fluid"> 
    <div class="row"> 
    <div class="col-sm-2 bg-warning"> 
     This is a col-sm-2 
     Some test content 
     Some test content 
     Some test content 
     Some test content 
    </div> 
    <div class="col-sm-6 bg-success"> 
     .col-sm-6 
    </div> 
    <div class="col-sm-4 bg-info"> 
     .col-sm-4  
     Some test content 
     Some test content 
    </div> 
    </div> 
</div> 

Выпуск:

enter image description here

Обе колонки 2 и столбец 3 следует расширить, чтобы иметь такую ​​же высоту, что и колонны 1.

Любая помощь/предложение wil Я очень благодарен.

ответ

1
.row-eq-height{ 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
} 

Добавьте этот класс к классу строк.

<div class="container-fluid"> 
    <div class="row-eq-height row"> 
    <div class="col-sm-2 bg-warning"> 
     This is a col-sm-2 
     Some test content 
     Some test content 
     Some test content 
     Some test content 
    </div> 
    <div class="col-sm-6 bg-success"> 
     .col-sm-6 
    </div> 
    <div class="col-sm-4 bg-info"> 
     .col-sm-4  
     Some test content 
     Some test content 
    </div> 
    </div> 
</div> 

https://jsfiddle.net/ebwwvy6m/16/

0

Добавьте свой собственный класс и установите высоту.

0

Вариант 1 (для layzy)

<div class="container-fluid"> 
    <div class="row"> 
    <div class="col-sm-2 bg-warning my-super-class"> 
     This is a col-sm-2 
     Some test content 
     Some test content 
     Some test content 
      Some test content 
    </div> 
    <div class="col-sm-6 bg-success my-super-class"> 
     .col-sm-6 
    </div> 
    <div class="col-sm-4 bg-info my-super-class"> 
     .col-sm-4  
     Some test content 
     Some test content 
    </div> 
    </div> 
</div> 


.my-super-class { 
    min-height: 12em; 
} 

Вариант 2: дать идентификатор седловины, в захват сказал DOMElement их идентификаторов в JavaScript. Затем проверьте самый большой из них и используйте это значение, чтобы установить (min-) height для всех.

1

Лучший способ сделать это с помощью display:flex; на родителе row и на col.

Demo.

.example { 
 
    display: flex; 
 
} 
 
.example .exaple-items { 
 
    display: flex; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<div class="container"> 
 
    <div class="row example"> 
 
    <div class="col-sm-2 bg-warning exaple-items"> 
 
     This is a col-sm-2 
 
     Some test content 
 
     Some test content 
 
     Some test content 
 
     Some test content 
 
    </div> 
 
    <div class="col-sm-6 bg-success exaple-items"> 
 
     .col-sm-6 
 
    </div> 
 
    <div class="col-sm-4 bg-info exaple-items"> 
 
     .col-sm-4  
 
     Some test content 
 
     Some test content 
 
    </div> 
 
    </div> 
 
</div>

С flextbox новая функция проверки CSS совместимость браузера: caniuse.com

И использовать vendor prefix:

.example { 
    display: -webkit-box; 
    display: -ms-flexbox; 
    display: flex; 
} 

Если вы хотите узнать больше о display:flex; прочитать: https://css-tricks.com/snippets/css/a-guide-to-flexbox/

P.S. У этой функции встроена функция new bootstrap v4.

+0

@paola, дисплей: гибкий, кажется, работает в IE 11 и выше. Как насчет других широко используемых версий IE (например, IE 9, IE10 и т. Д.?). Исправьте меня, если я ничего не пропущу. –

+0

Проверьте совместимость там: http://caniuse.com/#feat=flexbox Это частичная поддержка в IE11 и IE10 (не работает в IE9-) – paolobasso

+1

Я только что проверил и в IE11 работает очень хорошо: http : //i.imgur.com/fZljpiI.png – paolobasso

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