2015-04-03 7 views
1

Это ошибка в WebKit/Blink?Есть ли ошибка в реализации WebKit/Blink гибкого потока flexbox: обертка столбца?

Я пытаюсь внедрить сводную страницу статьи, аналогичной газеты: сводки статьи стекать вниз и «обертка» слева направо, точно так, как указано в разделах the W3 specificationflex-direction и flex-wrap. Остальное пространство в столбце должно быть равномерно распределено между блоками, которые его занимают (точно так же, как flex-grow: 1).

См. the JSFiddle.

Возможно, Firefox реализовал это правильно, но у меня очень странный макет из Chrome и Safari.

Если это действительно ошибка, есть ли обходной путь?

Firefox:

Firefox

Chrome/Safari:

Chrome/Safari

ответ

1

Если изменить max-height: 24rem к height: 24rem; затем он работает в Chrome.

Похоже, что Chrome вычисляет высоту, основанную на самом маленьком блоке.

body { 
 
    background: #C6C2B6; 
 
} 
 

 
section { 
 
    background: white; 
 
    display: flex; 
 
    flex-flow: column wrap; 
 
    align-content: flex-start; 
 
    height: 24rem; 
 
} 
 

 
article { 
 
    background: #48929B; 
 
    flex: 1 0 auto; 
 
    min-height: 10rem; 
 
    width: 4rem; 
 
    margin: 0.5rem; 
 
} 
 

 
.big { 
 
    min-height: 14rem; 
 
}
<section> 
 
    <article></article> 
 
    <article></article> 
 
    <article class="big"></article> 
 
    <article></article> 
 
</section>

+0

Я знаю, что это не было в первоначальном вопросе, но как насчет http://jsfiddle.net/4cq6z2j2/? Если высота должна определяться содержимым, то что? Firefox по-прежнему корректно отображается, пока не работает WebKit. – thure

+0

hmm ... дайте мне минуту – ratherblue

+0

Я заменил свой ответ этой скрипкой, и я думаю, что это получает то, что вы хотите. Вот ссылка: http://jsfiddle.net/4cq6z2j2/4/ – ratherblue