Высота бутстрапа в Twitter

В моем приложении Bootstrap 3.2 для Twitter у меня есть блоки div, которые имеют разную ширину.

Но если я удалю класс "строка", из-за изменения длины содержимого, высоты блоков станут разными, поэтому блоки выглядят странно. Проверьте эту ширину экрана больше, чем 992px: http://jsfiddle.net/mavent/bFcrq/13/

Если я использую класс "row", моя страница выглядит хорошо: http://jsfiddle.net/mavent/bFcrq/15/ Но я не могу знать, когда использовать класс строк. Поскольку размер экрана отличается, поэтому я не могу знать, могу ли я использовать класс строк на 2 div или 3 div.

Итак, мой вопрос: как я могу сделать эти блоки одинаковыми, поэтому даже маленькие и большие экраны имеют красивый внешний вид?

<div class="text-center"> <div class="visible-xs visible-sm">Small screen is ok, There is problem for big screens </div> <div class="well col-lg-4 col-md-4 col-sm-12 col-xs-12"> <a href=""><h2>My pretty title 1</h2><p>My subtitle which can have different number of words</p></a> </div>

Изменить: Также проверьте это поведение на больших экранах: http://jsfiddle.net/bFcrq/26/
Даже я использую класс "row", некоторые блоки длинны, некоторые из них короткие.
Это выглядит очень плохо, когда я использую классы "alert-*".

Edit2: Хотя я предпочитаю CSS-решения, для меня также подходит решение на основе JQuery.

Ответ 1

Я создал это решение на основе javascript.
Fiddle: http://jsfiddle.net/mavent/zobhpkvz/7/

//html

<div class="row modify_parent">
    <div class="col-sm-4 alert alert-success modify_child">Some thing happens here..
        <br>Some thing happens here..
        <br>Some thing happens here..
        <br>Some thing happens here..
        <br>Some thing happens here..
        <br>
    </div>
    <div class="col-sm-offset-2 col-sm-4 alert alert-success modify_child">Other thing happens here..
        <br>
    </div>
</div>

//javascript

var sameHeightTop = $(".modify_parent");
if (sameHeightTop.length !== 0) {
    sameHeightTop.each(function () {
        var tallest = 0;
        var sameHeightChildren = $(this).find(".modify_child");
        sameHeightChildren.each(function () {
            var thisHeight = $(this).height();
            if (thisHeight > tallest) {
                tallest = thisHeight;
            }
        });
        sameHeightChildren.height(tallest);
    });
}

Ответ 2

Я думаю, что это лучшее, что вы можете сделать без javascript: http://jsfiddle.net/V2F9E/6/

<div class="container">
    <div class="row">
        <div class="col-lg-4 col-md-6 col-xs-12">
            <h1>1</h1>
            <p>Sub</p>
        </div>
        <div class="col-lg-4 col-md-6 col-xs-12">
            <h1>2</h1>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
            </p>
        </div>

        <div class="clearfix visible-md-block "></div><!--This clearfix has to be set every 2 div because that when col-md break to a new line-->

        <div class="col-lg-4  col-md-6 col-xs-12">
            <h1>3</h1>
            <p>Sub</p>
        </div>

        <div class="clearfix visible-lg-block "></div><!--This clearfix has to be set every 3 div because that that col-lg break to a new line-->

        <div class="col-lg-4  col-md-6 col-xs-12">
            <h1>4</h1>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
            </p>
        </div>

        <div class="clearfix visible-md-block "></div><!--This clearfix has to be set every 2 div because that when col-md break to a new line-->

        <div class="col-lg-4  col-md-6 col-xs-12">
            <h1>5</h1>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
            </p>
        </div>
        <div class="col-lg-4  col-md-6 col-xs-12">
            <h1>6</h1>
            <p>Sub</p>
        </div>

        <div class="clearfix visible-md-block "></div><!--This clearfix has to be set every 2 div because that when col-md break to a new line-->

         <div class="clearfix visible-lg-block "></div><!--This clearfix has to be set every 3 div because that that col-lg break to a new line-->

    </div>
</div>

Обратите внимание:

<div class="clearfix visible-lg-block">
</div>.

Дополнительная информация о сбрасывании сетки: http://getbootstrap.com/css/#grid-responsive-resets

ИЗМЕНИТЬ

Вы также можете взглянуть на flexbox. Возможно, это поможет вам, объединив бутстрап с flexbox. http://www.bootply.com/zoupRVbLG4