@lazo77
учиться никогда не поздно

Почему в Chrome не работает height: 100% для вложенных элементов?

Код HTML:
<body>
      <header>
	    <!-- всяко-разно -->
      </header>
      <main>
         <div class="main_wrap">
            <div class="main_row">
		<!-- много чего -->
            </div>
         </div>
      </main>
      <footer>
	    <!-- копирайт и т.д. -->
      </footer>
   </body>

Далее less файл со стилями:
body{
   display: flex;
   flex-direction: column;
   height: 100vh;
}
header{
   flex-shrink: 0;
}
main{
   flex: 1 0 auto;
   .main_wrap{
      height: 100%;
      .main_row{
         height: 100%;
       }
    }
}
footer{
   flex-shrink: 0;
}

Прижимал футер с помощью флексбоксов, все сработало четко вот только в Chrome вложенные эл-ты не хотят растягиваться вслед за main. Проблема с main_wrap и main_row , в Мозилле и IE11 (!!!) они (как и задумывалось) одной высоты с main, а в Chrome по контенту (в случае с min-height то же самое). Что за глюк?
  • Вопрос задан
  • 3667 просмотров
Пригласить эксперта
Ответы на вопрос 2
@deadsandro
в main тоже добавьте height: 100%
процентный height работает только для блоков, у которых явно указана высота.
Ответ написан
@lazo77 Автор вопроса
учиться никогда не поздно
В целом DeaDSandro прав, я сделал для main flex: 1 0 80%; и все заработало как хотелось.
Вопрос, однако, был не в этом, хотелось узнать почему описанное изначально решение не работало только в Chrome?!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы