CSS flex several multi-column layout

CSS flex several multi-column layout

Basic three-column layout

.container{
        display: flex;
        width: 500px;
        height: 200px;
    }
    .left{
        flex:1;
        background: red;
    }
    .middle{
        flex:1;
        background: green;
    }
    .right{
        flex:1;
        background: blue;
    }
<div class="container">
    <div class="left"></div>
    <div class="middle"></div>
    <div class="right"></div>
</div>

Three columns with fixed width on the left and middle and adaptive width on the right

    .container{
        display: flex;
        height: 300px;
    }
    .left{
        flex: 0 0 100px;
        background-color: red;
    }
    .middle{
        flex: 0 0 100px;
        background-color: green;
    }
    .right{
        flex:1;
        background-color: blue;
    }
  <div class="container">
    <div class="left">qqq</div>
    <div class="middle">qqq</div>
    <div class="right">wwww</div>
</div> 

After shrinking the browser window

Fixed left and right, adaptive in the middle

  .container{
        display: flex;
        height: 300px;
    }
    .left{
        width: 100px;
        background-color: red;
    }
    .middle{
        flex: 1;
        background-color: green;
    }
    .right{
       width: 100px;
        background-color: blue;
    }
   <div class="container">
    <div class="left">qqq</div>
    <div class="middle">qqq</div>
    <div class="right">wwww</div>
</div> 

After shrinking the browser window

Nine-grid layout

.container{
        display: flex;
        height: 300px;
        width: 300px;
        flex-direction: column;
    }
    .row{
        display: flex;
        height: 100px;
    }
    .left{
        flex: 1;
        height: 100px;
        border: 1px solid red;
    }
    .middle{
        flex: 1;
        height: 100px;
        border: 1px solid green;
    }
    .right{
        flex: 1;
        height: 100px;
        border: 1px solid blue;
    }
    <div class="container">
    <div class="row">
        <div class="left"></div>
        <div class="middle"></div>
        <div class="right"></div>
    </div>
    <div class="row">
        <div class="left"></div>
        <div class="middle"></div>
        <div class="right"></div>
    </div>
    <div class="row">
        <div class="left"></div>
        <div class="middle"></div>
        <div class="right"></div>
    </div>
</div> 

Holy Grail Layout

  *{
        margin:0;
        padding:0;
    }
    .container{
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        justify-content: space-between;
    }
    .header{
        background: red;
        flex: 0 0 100px;
    }
    .content{
        display: flex;
        flex:1;
    }
    .content-left{
        flex: 0 0 100px;
        background: green;
    }
    .content-right{
        flex: 0 0 100px;
        background: pink;
    }
    .content-middle{
        flex:1;
    }
    .footer{
        background: yellow;
        flex: 0 0 100px;
    }
    <div class="container">
    <div class="header">Header</div>
    <div class="content">
        <div class="content-left">Left</div>
        <div class="content-middle">Center</div>
        <div class="content-right">Right</div>
    </div>
    <div class="footer">Footer</div>
</div> 

After shrinking the browser window

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

<<:  Solution to nacos not being able to connect to mysql

>>:  Implementation of Vue counter

Recommend

Summary of the advantages of Vue3 vs. Vue2

Table of contents 1. Why do we need vue3? 2. Adva...

Attributes in vue v-for loop object

Table of contents 1. Values ​​within loop objects...

Introduction to CSS3 color value RGBA and gradient color usage

Before CSS3, gradient images could only be used a...

A few front-end practice summaries of Alipay's new homepage

Of course, it also includes some personal experien...

The latest popular script Autojs source code sharing

Today I will share with you a source code contain...

SystemC environment configuration method under Linux system

The following is the configuration method under c...

Summary of common functions of PostgreSQL regular expressions

Summary of common functions of PostgreSQL regular...

Solution for adding iptables firewall policy to MySQL service

If your MySQL database is installed on a centos7 ...

Detailed steps to install the NERDTree plugin in Vim on Ubuntu

NERDTree is a file system browser for Vim. With t...

Vue3 manual encapsulation pop-up box component message method

This article shares the specific code of Vue3 man...

Vue+node realizes audio recording and playback function

Result: The main part is to implement the code lo...

A brief discussion on React Component life cycle functions

What are the lifecycle functions of React compone...

MySQL 8.0.16 installation and configuration tutorial under CentOS7

Uninstall the old version of MySQL (skip this ste...