Как реализовать гибкий макет по строке/столбцу с 3 элементами для настольных компьютеров/мобильных устройствCSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать гибкий макет по строке/столбцу с 3 элементами для настольных компьютеров/мобильных устройств

Сообщение Anonymous »

Мне нужно реализовать разные макеты для широких/мобильных экранов. Вот требования:
Широкий макет:
  • Элемент №1 имеет ширину растяжения, но 50 % от ширины №1+#2 (в ряду с #2) (высота может быть меньше или больше, чем #2)
  • Элемент #2 должен иметь ширину 50 %, но максимальную ширину: 385 пикселей.
  • #3 должен иметь ту же ширину, что и #1.
Для мобильных устройств это должен быть простой столбец в порядке 1-2-3 (ширина 100%).
Вот пример широкого макета:
Изображение
Мобильный макет:
Изображение
Кажется, что реализовать широкий макет легко, сгруппировав №1 и №3 в один столбец и №2 во второй с помощью flex, но для мобильных устройств эти три элемента должны быть разделены, чтобы разместить №3 ниже. #2
Я понимаю, что это можно реализовать, отрисовав элемент №2 внутри или снаружи №1, но можно ли сделать это по-другому? Используя css/flex или изменив структуру HTML с CSS?
Вот моя попытка использования флексбокса: элемент №3 должен иметь ту же ширину, что и №1 (а №1 может быть выше или ниже чем №2, кстати)
https://jsfiddle.net/v16wxmg7/1/



1




2




3




.wrapper {
background-color: #eee;
display: flex;
flex-flow: row wrap;
div {
height: 40px;
color: white;
}
@media screen and (max-width: 500px) {
flex-direction: column;
}
}
.c1 {
background-color: #900;
flex: 4 1 50%;
@media screen and (max-width: 500px) {
flex: 1 1 100%;
}
}
.c2 {
background-color: #090;
flex: 4 1 50%;

@media screen and (max-width: 500px) {
flex: 1 1 100%;
}
}
.c3 {
background-color: #009;
max-width: 180px;
flex: 0 1 50%;
@media screen and (max-width: 500px) {
flex: 1 1 100%;
max-width: none;
}
}

.e1 {
min-width: 200px;
}
.e2 {
min-width: 150px;
}
.e3 {
width: 300px;
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... top-mobile
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «CSS»