58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
![]() |
---
|
||
|
title: Display Flex
|
||
|
---
|
||
|
# Display Flex
|
||
|
|
||
|
A flexbox container can grow and shrink dynamically according to the size of the viewport.
|
||
|
To transform a CSS container into a flexbox container, we need to use <code>display:flex;</code>.
|
||
|
Any elements nested inside the flex container will be displayed according to any attributes given to it.
|
||
|
|
||
|

|
||
|
|
||
|
**Example:**
|
||
|
CSS CODE
|
||
|
--------
|
||
|
|
||
|
```css
|
||
|
.container {
|
||
|
display: flex;
|
||
|
background: yellow;
|
||
|
}
|
||
|
.box {
|
||
|
background-color: brown;
|
||
|
width: 200px;
|
||
|
height: 200px;
|
||
|
box-sizing: border-box;
|
||
|
border: solid 1px black;
|
||
|
color: white;
|
||
|
```
|
||
|
HTML CODE
|
||
|
---------
|
||
|
```html
|
||
|
<div class="container">
|
||
|
<div class="box">
|
||
|
<p>Box 1</p>
|
||
|
</div>
|
||
|
<div class="box">
|
||
|
<p>Box 2</p>
|
||
|
</div>
|
||
|
<div class="box">
|
||
|
<p>Box 3</p>
|
||
|
</div>
|
||
|
<div class="box">
|
||
|
<p>Box 4</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
```
|
||
|
Here's the result:
|
||
|

|
||
|
|
||
|
The normal behaviour of divs is for them to stack vertically, but <code>display: flex;</code> lays out the divs into a single horizontal row, along what is called the **main axis**, which runs horizontally from left to right. This is because the default direction of a flex container is <code>flex-direction: row;</code>. It is behaving in the same way as <code>float: left;</code>.
|
||
|
|
||
|
The other flex direction is _column_, and its main axis runs vertically from top to bottom.
|
||
|
The images below summarise the significance of the main axis, and they also show some alignment attributes.
|
||
|
|
||
|

|
||
|
|
||
|

|