JSFiddle - React, Tailwind, and code Playground
HTML
<div class="menu">
</div>
<div class="block1">
<div class="block1__main-content">
тут типа красивый бекграунд и всё
</div>
<div class="block1__block2">
<h3>
Немного контента
</h3>
<p>
Помогите ньюфагу разобраться как надо сделать композицию блоков как на пикрил.
Слева:
меню - оно должно занимать 100% высоты браузерного окна и быть всегда приклеено к левой части и не
</p></div>
</div>
<div class="block3">
Помогите ньюфагу разобраться как надо сделать композицию блоков как на пикрил.
Слева:
меню - оно должно занимать 100% высоты браузерного окна и быть всегда приклеено к левой части и не скроллиться вверх-вниз вместе с правой частью страницы.
В ширину оно допустим 300 пикселей
Ширину-высоту изи делаю как {width: 300px; height: 100vh}
Но как сделать что бы он был всегда в левой части экрана сорт оф дваче-меню левое, но не ездил, а был всегда блядь влитой.
Справа:
Блок1 - должен по началу занимать тоже 100% высоты экрана, а по ширине получается должен быть 100% ширины экрана минус 300 пикселей (ширина меню)
При этом может скроллиться дальше вниз.
значит ли это что я в css пишу ему {width: 100vw; height: 100vh - 300 px;}
Но нужно что бы он был справа от меню при этом и под ним можно было еще контента накидать.
Блок2 - сидит приклеенный к низу блока 2 (к низу первоночального экрана) и по высоте по разному занимает в зависимости от контента.
Его лепить по иерархии внутри блока 1 нужно или нет? Что бы он с ним не конфликтовал за место, а просто слоем сверху парил как бы.
Блок3 - остаточный контент который скроллится вниз.
Пока на вскидку приходит что нужно сделать как-то так:
</div>
CSS
body {
margin:0;
}
.menu {
position: fixed;
height: 100vh;
width: 300px;
background: blue;
}
.block1 {
display: flex;
flex-direction: column;
height: 100vh;
margin-left: 300px;
background-color: yellow;
}
.block1__main-content {
flex: 2;
padding: 30px;
}
.block1__block2 {
flex: 1;
padding: 30px;
background-color: #777306;
}
.block3 {
margin-left: 300px;
padding: 30px;
}