A Complete Guide to CSS Flexbox

CSS Flexbox is a one-dimensional layout model designed to create complex web layouts with ease. Unlike traditional layout models, such as block and inline, Flexbox provides an efficient way to distribute space and align elements within a container. It is particularly well-suited for dynamic and responsive layouts.

Flexbox is a layout concept that enables developers to create complicated layouts more quickly and easily than ever before.

In the below PDF we discuss about  CSS Flexbox in detail in simple language, Hope this will help in better understanding.


How CSS Flexbox Works?

Let’s explore how Flexbox works in CSS:

1.  Flex Container:

To initiate Flexbox, you designate an HTML element as a flex container by setting its display property to flex or inline-flex. This transforms the container into a flex container, and its direct children become flex items.

.flex-container {
display: flex;

2. Main and Cross Axes:

Flexbox works along two axes: the main axis and the cross axis. The main axis is determined by the flex-direction property, and it defines the direction in which flex items are placed. By default, the main axis is horizontal (row), but you can change it to vertical (column) or reverse the direction.

.flex-container {
flex-direction: row; /* or column, row-reverse, column-reverse */

3. Flex Items:

Elements within the flex container become flex items. These items can dynamically adjust their size based on the available space, and their order can be rearranged using the order property.

.flex-item {
order: 2; /* Change the order of the flex item */

4. Justify Content:

The justify-content property aligns flex items along the main axis. It provides options such as flex-start, flex-end, center, space-between, and space-around.

.flex-container {
justify-content: space-between;

Example 1: Simple Horizontal Navigation Bar

<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flexbox Example 1</title>
.nav-bar {
display: flex;
justify-content: space-around;
background-color: #333;
color: white;
padding: 10px;
}.nav-item {
padding: 10px;

<div class="nav-bar">
<div class="nav-item">Home</div>
<div class="nav-item">About</div>
<div class="nav-item">Services</div>
<div class="nav-item">Contact</div>


This example demonstrates a simple horizontal navigation bar using Flexbox. The justify-content: space-around; property evenly distributes the navigation items, creating a clean and responsive design.

Applications of CSS Flexbox:

  • Responsive Design: Flexbox simplifies the creation of responsive designs by allowing elements to automatically adjust their size and layout based on the available space.
  • Navigation Menus: Building navigation menus becomes more straightforward with Flexbox. Achieve equal spacing and alignment without the need for complex CSS or JavaScript.
  • Card Layouts: Create flexible and dynamic card layouts that adapt to different screen sizes, making it easier to maintain a consistent user experience.
  • Vertical Centering: Aligning elements vertically in the middle of the screen or a container is a common requirement, and Flexbox makes this task a breeze.

Related Question

CSS Flexbox, or Flexible Box Layout, is a layout model that allows you to design complex layouts more efficiently and with less code. It provides a way to distribute space and align items within a container, even when their sizes are unknown or dynamic.

To create a flex container, you set the CSS property display: flex; or display: inline-flex; on an element. This element and its children become part of the flex container.


Flexbox inherently provides a responsive layout as flex items can adapt to different screen sizes. Combine it with media queries and percentage-based widths to create a fully responsive design.

Yes, flex containers can be nested. This allows for the creation of more complex layouts, with each level of nesting having its own flex properties.


Specificity can be calculated by assigning weights to different parts of a selector. Count the number of IDs, classes, and elements in the selector, and then concatenate the values to create a specificity score. The higher the score, the higher the specificity.


The Ultimate Guide to CSS

A Complete Guide to CSS

The Ultimate Guide to CSS

CSS Background The background property

The Ultimate Guide to CSS

CSS Units – Explained with

CSS Website Layouts CSS layouts

2 thoughts on “css Flexbox”

Leave a Comment

Your email address will not be published. Required fields are marked *

// Sticky ads
Your Poster