2016-09-19 3 views
0

У меня есть ряд из 4 продуктов, в основном нравится так:Bootstrap Row распадается на мобильный

<div class="row"> 

    <div class="col-xs-6 col-sm-3"> 

    <div class="image"> 
     <img src="..."> 
    </div> 
    <div class="text"> 
     Text here 
    </div> 

    </div> 
    <div class="col-xs-6 col-sm-3"> 

    <div class="image"> 
     <img src="..."> 
    </div> 
    <div class="text"> 
     Text here 
    </div> 

    </div> 
    <div class="col-xs-6 col-sm-3"> 

    <div class="image"> 
     <img src="..."> 
    </div> 
    <div class="text"> 
     Text here 
    </div> 

    </div> 
    <div class="col-xs-6 col-sm-3"> 

    <div class="image"> 
     <img src="..."> 
    </div> 
    <div class="text"> 
     Text here 
    </div> 

    </div> 

</div> 

Это отлично смотрится на рабочем столе:

enter image description here

Однако на мобильном телефоне он распадается:

enter image description here

Все изображения имеют одинаковую высоту, поэтому я думаю, что это связано с различной длиной надписи. Я не хочу иметь высоту набора на <div class="text">, так как я не могу гарантировать, что подпись в нем будет соответствовать.

Есть ли умный способ в CSS (или jQuery if must), чтобы установить высоты надписей, чтобы они соответствовали самым высоким заголовкам в строке? Это также должно привести к изменению размера браузера.

Благодаря

+0

Есть ли другие C на работе здесь. Есть ли CSS для '.image' или .text' например? – Goose

+0

Где находится ваш элемент '.container/.container-fluid'? Кроме того, добавьте '.img-responsive' к изображениям. – Vucko

ответ

2

Там на самом деле, используя clearfix элементы каждого энного строк, которые будут отображаться только на определенных контрольных точках.

<div class="clearfix visible-xs-block"></div>

Каждый второй элемент, поместите этот clearfix элемент, и вы можете установить его в visible-xs-block так, что только появляется на xs.

<div class="col-xs-6 col-sm-3"> 
    /* .. */ 
</div> 
<div class="col-xs-6 col-sm-3"> 
    /* .. */ 
</div> 
<div class="clearfix visible-xs-block"></div> 
<div class="col-xs-6 col-sm-3"> 
    /* .. */ 

.. и так далее.

clearfix способ для элемента автоматически очищать его дочерние элементы

из Madara Uchiha

+1

Я понятия не имею, как это волшебство работает, но это абсолютно боб. Спасибо за это - гений – Lee

+1

Ха-ха. Да, это довольно хорошо. Особенно, если вы покончили с строкой и объедините ее с помощью «clearfix visible-md-block visible-lg-block» и установите этот элемент каждые 3 строки, тогда возможно иметь расположение столбца 3 на md и выше и 2 строки на более мелких устройств. – bitten

+1

Что вы не понимаете? Как работает clearfix? Теоретически он очищает все предыдущие поплавки и возвращает пространство для следующих элементов. Как и выше, ваш браузер пытается разместить плавающие элементы в ближайшем доступном пространстве. С помощью clearfix браузер поместит его после элемента clearfix'd. Bootstrap использует решение micro clearfix от Николаса Галлахера. [Подробнее здесь] (http://nicolasgallagher.com/micro-clearfix-hack/). – bitten

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