Я думаю, что принятый ответ, к сожалению, не идентифицирует настоящую проблему с вашим макетом и не вводит даже более серьезные проблемы, как необходимость ручной настройки heights
контейнеров изображений.
(я реплицируются оригинальный вопрос в this JSFiddle)
Ваша проблема может быть сведена к вопросу создания равных высот на двух соседних столбцах плавали. Это своего рода хорошо известная проблема в мире дизайна, и эта тема решается в this post Крисом Койером.
Я догадываюсь, что вы можете принять несколько иной подход к этой проблеме. Сначала перейдя с мобильным телефоном, вы можете упростить свою жизнь и уменьшить количество кода. Сначала вы создаете базовый 1 столбец, и единственное, что вам нужно принять здесь, - это height
ваших контейнеров изображений.
Поскольку это 1 колонка, лучше всего исправить height
изображений здесь, так как они не зависят от height
соседних столбцов.
Чтобы увеличить размер вашего окна просмотра, вы будете использовать медиа-запросы, чтобы настроить точку останова, где 1 макет столбца становится 2-мя макетами столбцов, причем оба столбца установлены рядом друг с другом. Теперь это тот момент, когда вы столкнулись с проблемой столбцов одинаковой высоты. С одной стороны, вы хотите, чтобы ваш контейнер background image
увеличивался вертикально так же, как и содержимое другого столбца.
Это то, где flexbox
приходит на помощь, если вы только хотите его использовать. То, что он делает, равномерно равно обеим высотам столбцов, что избавляет вас от настройки каждого контейнера изображений heights
вручную, и это здорово, я думаю. Вы получаете гибкий, гибкий и мобильный план с минимальным количеством кода (и никакой зависимости от бутстрапа, который всегда является бонусом, на мой взгляд), который может соответствовать любому количеству контента.
Я упростил и воспроизвел желаемый макет в этом минимальном JSFiddle, так что не стесняйтесь приспосабливать его к вашим потребностям.
.row {
display: block;
overflow:hidden;
background: #f0f0f0;
width:100%;
margin-bottom:10px;
}
.bgImg,
.text {
width:100%;
}
.bgImg {
background: url("http://placehold.it/350x150") no-repeat center center;
background-size: cover;
height: 150px;
}
h4 {
margin-top:0;
}
@media (min-width: 768px) {
.row {
display:flex;
}
.bgImg,
.text {
width:50%;
float:left;
}
.bgImg {
height: initial;
}
}
<section class="row">
<div class="bgImg"></div>
<article class="text">
<h4>Blah</h4>
<p>Some nonsense</p>
</article>
</section>
<section class="row">
<article class="text">
<h4>Blah</h4>
<p>Some nonsense</p>
<p>Some nonsense</p>
<p>Some nonsense</p>
<p>Some nonsense</p>
<p>Some nonsense</p>
<p>Some nonsense</p>
</article>
<div class="bgImg"> </div>
</section>
<section class="row">
<div class="bgImg"></div>
<article class="text">
<h4>Blah</h4>
<p>Some nonsense</p>
<p>Some nonsense</p>
<p>Some nonsense</p>
</article>
</section>
Не могли бы вы опубликовать код, чтобы мы могли реально помочь вам? Дает нам что-то, что нужно построить – Li357
Положите [mcve] * в сам вопрос *. – jonrsharpe
А что именно здесь не работает? У вас все еще есть отзывчивый веб-сайт. – robjez