Flexbox (v1)

Introduction

Floats were never intended for layout, however clever developers found ways in which to use them to create their layouts. Having worked with floats you may have noticed some limitations and bugs (clearfix anyone? vertical centering?).

Learning Objectives

  • How do you define a flex container?
  • What items will become a flex-item?
  • Can a flex item also be a flex container?
  • When to use Flexbox?
  • What is the difference between justify-content and align-items.
  • How can you change the direction of the axis of Flexbox. What will this do to justify-content and align items?
  • How do you change the display order of content with Flexbox. What is a drawback with this (for screen readers)?

Overview

Flexbox is a new layout mode in CSS3 initially developed by Mozilla to make layouts. There were 3 different iterations of the flex property, the final 2012 spec — display: flex has excellent browser support. The current Flexbox spec is fully supported in all modern browsers, including mobile, IE11 and Edge.

Study

While watching video #13 on the Flexbox series and coding along, you might find that your are not getting the same results with what is being shown on the video. This happens because a lot of years have passed since this video was uploaded (2015) and browsers have evolved to fully supporting Flexbox. Therefore, Autoprefixer will not produce the vendor-prefixes. Don’t worry for that but make sure to understand how Gulp works, as it can work equally well on other not-widely supported CSS properties and it is one of the most powerful and popular build tools available for front end developers.

Additional Resources

RECORDINGS

UPDATED: 30.04.2021

CONTRIBUTORS: