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%;
   ...