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 Outcomes

  • 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.

Assignment

Additional Resources

This section contains helpful links to other content. It isn’t required, so consider it supplemental for if you need to dive deeper into something.

Improve this lesson on GitHub

Have a question?

Chat with our friendly Odin community in our Discord chatrooms!

Open Discord