2016-03-25 2 views
3

Контейнер с контейнером Flexbox внутри другого контейнера flex не получает 100% -ной высоты в Chrome, но в Firefox и Edge все нормально.Контейнер Flexbox в Chrome не получает высоту 100%

Codepen example

.container { 
    display: flex; 
    flex-direction: column; 

    height: 100%; 
    width: 100%; 

    .inside-container { 
    display: flex; 
    flex-direction: column; 

    height: 100%; 

    } 
} 

ответ

7

Вы не нашли height: 100% на родительский элемент: <header>

После того, как вы добавить, что в, макет работает в Chrome, а также.

header { 
    min-height: 100%; 
    width: 100%; 
    height: 100%; /* NEW */ 
} 

Revised Codepen

При использовании процентных высот, хром требует, чтобы каждый родительский элемент имеет определенную высоту. Подробнее здесь:

При использовании процентных высот в Flexbox, есть рендеринг различие между основными браузерами. Подробнее здесь:

+0

Спасибо! Не знал этого. Но почему именно Chrome требует этого? – fotonmoton

+0

На самом деле Chrome и Safari этого требуют. Причина в том, что браузеры на основе webkit придерживаются более традиционной интерпретации спецификации, требующей использования свойства 'height' для родительских элементов. Напротив, FF/IE также принимает высоту гибких линий. Дополнительную информацию см. Во второй ссылке в моем ответе. –

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