Flexbox
by mikeskinner
HTML
<div class="flexbox-container">
<div class="flexbox-item flexbox-item-1"></div>
<div class="flexbox-item flexbox-item-2"></div>
<div class="flexbox-item flexbox-item-3"></div>
<div class="axis main-axis"></div>
<div class="axis cross-axis"></div>
</div>
CSS
/* Final Video Styles */
.flexbox-container {
display: flex;
justify-content: center;
align-items: center;
}
.flexbox-item {
width: 200px;
margin: 10px;
border: 3px solid #333;
background-color: #dfdfdf;
}
.flexbox-item-1 {
flex: 1 0 0;
min-height: 100px;
flex-shrink: 0;
align-self: flex-end;
}
.flexbox-item-2 {
min-height: 200px;
flex-grow: 2;
flex-basis: 0;
align-self: center;
}
.flexbox-item-3 {
min-height: 300px;
flex-grow: 1;
flex-basis: 0;
}
/* Background Styles */
html {
height: 100%;
background-color: #333;
display: flex;
flex-direction: column;
justify-content: center;
}
.flexbox-item-1 {
min-height: 100px;
}
.flexbox-item-2 {
min-height: 200px;
}
.flexbox-item-3 {
min-height: 300px;
}
.flexbox-container {
position: relative;
background-color: yellow;
}
.flexbox-container::before {
content: 'Flexbox Container';
position: absolute;
top: -40px;
color: orange;
font-size: 2em;
}
.flexbox-item {
position: relative;
width: 200px;
margin: 10px;
border: 3px solid #333;
background-color: #dfdfdf;
font-size: 100px;
display: flex;
justify-content: center;
}
.flexbox-item::before {
content: 'Flexbox Item';
position: absolute;
color: black;
font-size: 25px;
top: 10px;
left: 15px;
}
.flexbox-item::after {
position: absolute;
color: black;
font-size: 25px;
top: 10px;
right: 15px;
}
.flexbox-item-1::after {
content: '1';
}
.flexbox-item-2::after {
content: '2';
}
.flexbox-item-3::after {
content: '3';
}
.flexbox-item-4::after {
content: '4';
}
.flexbox-item-5::after {
content: '5';
}
.flexbox-item-6::after {
content: '6';
}
.axis {
position: absolute;
}
.cross-axis {
left: 50%;
transform: translateX(-50%);
width: 5px;
height: 100%;
background-color: blue;
}
.main-axis {
top: 50%;
...