DEV Community

Cover image for CSS Flexbox in 5 Minutes
Terry Threatt
Terry Threatt

Posted on

CSS Flexbox in 5 Minutes

What is CSS Flexbox

CSS Flexbox is a one-dimensional layout module that can be used to make your applications more responsive.

Flexbox allows you to dynamically control alignment, direction, and space of content inside any container.

Lets get started using Flexbox

Fork this code

Starter Code

Display

flexbox requires a parent container to control the layout of all children.

lets use the display property

.flex-container {
  padding: 0;
  margin: 0;
  /* add display property for parent container */
  display: flex
}
Enter fullscreen mode Exit fullscreen mode

Flexbox display

Flex-direction

flex-direction establishes a main axis direction for flex items and can be in a row or column.

flex-direction is in row direction by default so lets try a column layout direction

.flex-container {
  padding: 0;
  margin: 0;
  /* add display property for parent container */
  display: flex;
  /* add a flex direction for items */
  flex-direction: column; 
}
Enter fullscreen mode Exit fullscreen mode

flex-direction column

now lets get back to row direction

.flex-container {
  padding: 0;
  margin: 0;
  /* add display property for parent container */
  display: flex;
  /* add a flex direction for items */
  flex-direction: row; /* default */ 
}
Enter fullscreen mode Exit fullscreen mode

flex-direction row

Justify-content

justify-content will distribute space along the main axis of container for all the content.

justify-content is in flex-start by default

lets try flex-end

.flex-container {
  padding: 0;
  margin: 0;
  /* add display property for parent container */
  display: flex
  /* add a flex direction for items */
  flex-direction: row; /* default */
  /* add content space for items */
  justify-content: flex-end;
}
Enter fullscreen mode Exit fullscreen mode

justify-content flex-end

now lets try to add space-around

.flex-container {
  padding: 0;
  margin: 0;
  /* add display property for parent container */
  display: flex
  /* add a flex direction for items */
  flex-direction: row; /* default */
  /* add content space for items */
  justify-content: space-around;
}
Enter fullscreen mode Exit fullscreen mode

justify-content space-around

Responsive Design

flexbox has a major benefit of making it very easy to create responsive layouts for most devices.

lets make this layout responsive with flex-direction and a css media query.

.flex-container {
  padding: 0;
  margin: 0;
  /* add display property for parent container */
  display: flex;
  /* add a flex direction for items */
  flex-direction: row; /* default */
  /* add content space for items */
  justify-content: space-around;
}

/* Lets make this mobile-friendly and easy to view for screens below 767px */
@media (max-width: 767px) {
  .flex-container {
    flex-direction: column;
  }
}
Enter fullscreen mode Exit fullscreen mode

Make It Your Own

Final Code

Read more in detail here about Flexbox

This has been a 5 minute tutorial on how to use CSS Flexbox.

Let's chat about Flexbox

We went through a quick tutorial on how to implement CSS Flexbox web accessibility and how you can make your web projects more responsive. If you enjoyed this post feel free to leave a comment about your thoughts and experiences working with flexbox.

Happy Coding,
Terry Threatt

Top comments (4)

Collapse
 
mohameds profile image
Mohamed

This'll help beginners a lot!

Collapse
 
terrythreatt profile image
Terry Threatt

Iā€™m happy to help!

Collapse
 
alexandriastech profile image
alex āž”ļø web dev journey šŸ‘©šŸ½ā€šŸ’»šŸ”

Nice and simple. Thanks!

Collapse
 
terrythreatt profile image
Terry Threatt

Iā€™m glad you enjoyed it!