articles

Home / DeveloperSection / Articles / Advanced Flexbox Layouts using HTML and CSS

Advanced Flexbox Layouts using HTML and CSS

Advanced Flexbox Layouts using HTML and CSS

Ashutosh Kumar Verma 179 07-Jun-2024

Flexbox Layouts using HTML and CSS

The Flexbox provides a powerful way to create flexible and responsive layouts in CSS.

Simple Steps to Create Flexbox Layouts

Here are some simple steps to design advanced flexbox using HTML and CSS,

 

Nested Flex Containers

You can place flex containers inside other flex molds to create complex shapes. This gives you more control over the placement and layout of the items.

Example- 

.container {
   display: flex;
   flex-direction: column;
}
.nested-container {
   display: flex;
   flex-direction: row;
}

Flex Item Ordering

You can use the order property to control the order of flex objects. This allows you to change the visual layout of the objects without changing the HTML layout.

 

.item {
   order: 2; /* Change the order of this item */
}

Alignment and Justification

Flexbox provides properties such as align-items, justify-content, and align-self to control the alignment and spacing of flex objects in a flex container.

 

.container {
   display: flex;
   align-items: center; /* Vertical alignment */
   justify-content: space-between; /* Horizontal alignment */
}
.item {
   align-self: flex-end; /* Override alignment for individual items */
}

 

Flexbox Wrapping

Use the flex-wrap property to control how flex objects wrap in a flex container. This is useful for layouts with multiple rows or columns.

 

.container {
   display: flex;
   flex-wrap: wrap; /* Allow flex items to wrap onto multiple lines */
}

Responsive Flexbox

Use media queries to create responsive programs with Flexbox. Change flex container properties or flex item sizes based on viewport width.

 

@media (max-width: 768px) {
   .container {
       flex-direction: column; /* Change layout direction for smaller screens */
   }
}

Columns of equal height

Equal Height Columns

To stretch allows you to have columns of equal height in the flex container. This expands all flex objects to match the height of the longer object.

 

.container {
   display: flex;
   align-items: stretch; /* Make flex items stretch vertically */
}

Flexbox Sizing

You can control how flex objects grow, shrink, and size by using the flex-grow, flex-shrink, and flex-basis attributes.

 

.item {
   flex-grow: 1; /* Allow flex item to grow to fill available space */
   flex-shrink: 0; /* Prevent flex item from shrinking */
   flex-basis: 100px; /* Set initial size of flex item */
}

 

Example- 

Here is the complete example of above code,

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Advanced Flexbox Layouts Example</title>
<style>
 .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 200px;
    border: 1px solid #ccc;
    padding: 10px;
  }

  .item {
    flex: 1;
    text-align: center;
    padding: 10px;
  }

  .item1 {
    background-color: #f0f0f0;
  }

  .item2 {
    background-color: #e0e0e0;
  }

  .item3 {
    background-color: #d0d0d0;
  }

</style>
</head>
<body>
  <div>
    <h2>Advanced Flexbox Layouts using HTML and CSS</h2>
  </div>
  <div class="container">
    <div class="item item1">Flex Item 1</div>
    <div class="item item2">Flex Item 2</div>
    <div class="item item3">Flex Item 3</div>
  </div>

</body>
</html>

 Output- 
Advanced Flexbox Layouts using HTML and CSS


These advanced options allow you to create versatile and responsive layouts with Flexbox, giving you precise control over content, alignment and size on the web Use these options and to get the structure you want in your projects.

Also, Read: CSS Grid Advanced Techniques


Updated 07-Jun-2024
Hi! This is Ashutosh Kumar Verma. I am a software developer at MindStick Software Pvt Ltd since 2021. I have added some new and interesting features to the MindStick website like a story section, audio section, and merge profile feature on MindStick subdomains, etc. I love coding and I have good knowledge of SQL Database.

Leave Comment

Comments

Liked By