Я надеюсь, что это можно сделать с помощью flexbox и не требовать (слишком много) обмана.Flexbox с rowspan и фиксированным соотношением сторон
Что я ищу:
1) Один большой блок с двумя меньшими рядом с ней, что RowSpan, без необходимости иметь свой собственный вложенную обертку. Working Example
2) Процентная ширина, которая изменяется с фиксированным соотношением сторон, возможно, используя трюк прокладки. Это может быть определено только на большом блоке, на меньших или на обоих. Я говорю либо/или /, и потому, что мне все равно, что меньший блок соответствует соотношению сторон большего. Возможно, соотношение сторон может быть применено только к большему блоку, а меньшие - к высоте. Это было бы хорошо, если бы все они изменялись вместе по отношению к ширине контейнера. Working Example
Это последний бит, где я нахожусь на главном дорожном блоке. Первый пример с rowspan выглядит великолепно, но полагается на обертку с определенной высотой, которая нарушает отзывчивость. Когда я пытаюсь контролировать высоту блоков, а не обертку, все начинает разрушаться.
Вот мой нерабочим work in progress (или ниже)
Спасибо!
<div class="gallery">
<div class="gallery-group">
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
</div>
</div>
.gallery {
position: relative;
height: auto;
margin: 0 12%;
background-color: transparent;
display: flex;
}
.gallery-group {
display: flex;
flex-wrap: wrap;
flex-direction: column;
width: 100%;
list-style: none;
padding: 0;
margin: 0;
font-size: 0;
align-items: stretch;
flex-wrap: nowrap;
}
.a, .b {
flex: 0 0 50%;
align-self: flex-start;
width:30%;
padding-top:22%;
}
.c {
flex: 0 0 100%;
align-self: flex-end;
width:70%;
padding-top:50%;
}
Эй, спасибо за ответ. Это довольно близко! Вы получили их правильно выровненными, и они сохраняют свою ширину. Единственная проблема - фиксированная высота в галерее/группе, которая отбрасывает соотношение сторон. Вот то, что я ищу, используя позиционирование, которое отлично работает, но мне было любопытно, может ли flexbox просто прощупывать вещи: http://codepen.io/chasebank/pen/RWNgXV – Chase
@ Если вы работаете красиво, мои 2 цента: Во-первых, если вы собираетесь добавлять текст, попробуйте использовать 'rem' для' font-size' и добавьте этот набор правил: 'font: 400 16px/1.45 Arial;' все, кроме '16px/1.45' является произвольным. Попытайтесь не использовать 'em' для текстовых или медиа-запросов, просто используйте их для гибкой структуры. Во-вторых, я знаю, что компилятор LESS от CodePen использовал все эти префиксы поставщиков по свойствам flexbox, но большинство из них устарело. В настоящее время flexbox поддерживается всеми важными браузерами, и единственным префиксом, который все еще требуется, является '-webkit' для Safari. http://caniuse.com/flexbox – zer00ne