How to define two column layout using flexbox?

In the sphere of web development, the creation of both visually striking and effective arrangements holds a position of great importance. The utilization of flexbox, an influential arrangement model present in CSS3, has completely transformed the manner in which web developers perceive arrangement design. The two-column layout configuration stands out as one of the most prevalent arrangement designs utilized in a variety of web applications, from blogging websites to online commercial stores. Nonetheless, attaining mastery in the skill of establishing a two-column layout utilizing flexbox can prove to be a formidable challenge for several developers. In this piece of writing, we shall examine a methodical and sequential approach to creating a two-column layout utilizing flexbox, with a thorough analysis of the syntax and parameters that enable developers to formulate user interfaces that are both responsive and dynamic.


One way to achieve a two-column layout is by utilizing the power of Flexbox and the flex-wrap attribute. Here's an approach to implementing this layout using seldom-used words −

  • First, we need to set the display property of the parent element to flex. This will enable Flexbox and allow us to control the positioning and sizing of its child elements.

  • Subsequently, we can utilize the flex-wrap characteristic to command how the offspring elements must wrap upon surpassing the width of the parent container. Ordinarily, flex entities will diminish to conform to the open space, however, upon setting flex-wrap to "wrap", they will initiate a new row, maintaining their original mass.

  • To generate dual columns, we may allocate a specific span or flex-basis value to each descendant element, signifying the initial size of the entity before any alteration ensues. The flex-grow property can also be established to allow the entities to stretch to fill the available space.

  • We may deploy additional Flexbox properties such as justify-content and align-items to arrange the child elements horizontally and vertically inside the parent container.

  • Lastly, it may be imperative to alter the padding and margin of the offsprings components to guarantee their harmonious fitting within the progenitor vessel


In the following example, we establish a container division containing display: flex and flex-wrap: wrap characteristics, which permit the flex items to fold to the succeeding line in case they surpass the container's capacity. Furthermore, we define the .col category for the columns with flex: 1, which causes them to take up uniform capacity within the container. The margin, padding, background-color, border, and border-radius characteristics are deployed exclusively for the purpose of style. Enclosed within the container division, two other divisions are present, each with the '.col' classification, and are composed of a heading and a paragraph that express the meaning of the columns.

<!DOCTYPE html>
      <title>How to define two column layout using flexbox?</title>
            .container {
            display: flex;
            flex-wrap: wrap;
         .col {
            flex: 1;
            margin: 10px;
            padding: 10px;
            background-color: #eee;
            border: 1px solid #ccc;
            border-radius: 5px;
      <h4>How to define two column layout using flexbox?</h4>
      <div class="container">
         <div class="col">
            <h6>Column 1</h6>
            <p>This is the content of column 1.</p>
         <div class="col">
            <h6>Column 2</h6>
            <p>This is the content of column 2.</p>


In conclusion, utilizing flexbox for the purpose of achieving a two-column disposition provides an abundance of benefits, encompassing cost-effective use of space, adaptivity, and durability. By giving careful thought to the characteristics of flexbox and their repercussions, web developers can contrive compositions that are both aesthetically appealing and user-oriented. By assimilating this technique into their web development endeavors, they can demonstrate their adeptness in implementing contemporary methodologies and keep pace with the ever-evolving fashions in the domain. All things being considered, integrating flexbox to illustrate a two-column layout is an exemplar tactic that can enhance the user experience and magnify the general visual charm of a website.

Updated on: 05-May-2023

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started