I am trying to deal with flex and trying my best to create what I need.
What am i trying to do
- Full screen container
- Two
div elements, one 640px right- 640px and one left-aligned, occupying the remaining space
What's happening
My items are displayed one above the other in the center of the screen.
the code
div.flex { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-around; align-items: stretch; height: 100vh; } div.hero { background-size: cover; background-position: center bottom; position: relative; height: 100vh; width: 100%; margin: auto; } div.timeline { width: 640px; margin: auto; } div.header { position: absolute; top: 50%; text-align: center; width: 100%; -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); -ms-transform: translate(0, calc(-50% - 66px)); -webkit-transform: translate(0, calc(-50% - 66px)); transform: translate(0, calc(-50% - 66px)); }
<div class="flex"> <div class="hero"> <div class="header"> <h1>Title</h1> <h2 class="subtitle">Subtitle</h2> </div> <div class="timeline"> <ul class="timeline-both-side"> <li> <div class="border-line"></div> <div class="timeline-description"> <p>Quisque ac laoreet purus, eu dapibus ligula. Mauris nec tincidunt mi, eget finibus sem. Morbi viverra malesuada lobortis. Suspendisse sed augue luctus ex molestie convallis.</p> </div> </li> <li class="opposite-side"> <div class="border-line"></div> <div class="timeline-description"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sed erat consectetur, tempor odio sit amet, euismod sapien.</p> </div> </li> <li> <div class="border-line"></div> <div class="timeline-description"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sed erat consectetur, tempor odio sit amet, euismod sapien.</p> </div> </li> <li class="opposite-side"> <div class="border-line"></div> <div class="timeline-description"> <p>Quisque ac laoreet purus, eu dapibus ligula. Mauris nec tincidunt mi, eget finibus sem. Morbi viverra malesuada lobortis. Suspendisse sed augue luctus ex molestie convallis.</p> </div> </li> <li> <div class="border-line"></div> <div class="timeline-description"> <p>Quisque ac laoreet purus, eu dapibus ligula. Mauris nec tincidunt mi, eget finibus sem. Morbi viverra malesuada lobortis. Suspendisse sed augue luctus ex molestie convallis.</p> </div> </li> </ul> </div> </div> </div>
Question
How to use flex for these two elements, both with 100vh and below?
+------------------------------------------+ |.flex | |+-------------------------+ +------------+| ||.hero | |.timeline || || | | || || | | || |+-------------------------+ +------------+| +------------------------------------------+
html css flexbox css3
Ben
source share