75 lines
2.0 KiB
Markdown
75 lines
2.0 KiB
Markdown
|
---
|
||
|
title: Flex-grow
|
||
|
---
|
||
|
# Flex-Grow
|
||
|
|
||
|
The flex-grow property is a flexbox property that allows you to specify the allocation of free space to containers within a flex-container. It provides a solution to all that unwanted space!
|
||
|
|
||
|
It'll turn your container from this
|
||
|
|
||
|
<img src = "https://i.imgur.com/lFJaBUfh.png">
|
||
|
|
||
|
<b><h1>to this</h1></b>
|
||
|
|
||
|
<img src = "https://i.imgur.com/4X8ITZih.png">
|
||
|
|
||
|
What just happened?
|
||
|
|
||
|
Well, we added two things to the css syntax.
|
||
|
|
||
|
HTML
|
||
|
|
||
|
```html
|
||
|
<p class = "ten">1</p>
|
||
|
<p class = "twenty">2</p>
|
||
|
```
|
||
|
|
||
|
CSS
|
||
|
|
||
|
```css
|
||
|
body {
|
||
|
display:flex;
|
||
|
}
|
||
|
|
||
|
p {
|
||
|
flex-grow: 1;
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Two things happened
|
||
|
|
||
|
1. The parent container was converted into a flex-display by `display:flex`
|
||
|
2. The remaining "free space" was then allocated among the remaining p containers in an equal ration since each has a flex-grow property of 1.
|
||
|
|
||
|
What happens if we have p containers with different flex-grow properties?
|
||
|
|
||
|
Let's see an example.
|
||
|
|
||
|
First let's create two paragraphs and enable display: flex;
|
||
|
|
||
|
<img src = "https://i.imgur.com/wPqUgsih.png">
|
||
|
|
||
|
Notice a few things
|
||
|
|
||
|
- The colour scheme is nice
|
||
|
- There's some empty space to the right of the two boxes.
|
||
|
|
||
|
That empty space is the "free space" that will be allocated to each of the different paragraphs later depending on their flex-grow properties.
|
||
|
|
||
|
To see this in action, let's give the first one a class of "ten" and a flex-grow property of 1. Let's also give the second one a class of "twenty" and a flex-grow property of 2.
|
||
|
|
||
|
<img src = "https://i.imgur.com/7n0V1G4h.png">
|
||
|
|
||
|
Notice a few things
|
||
|
|
||
|
1. The second one's size is not double that of the first one despite having a flex-grow property that is double that of the first.
|
||
|
2. The entire space is filled. ( Some margins were added to the side to enable it to be seen more clearly. )
|
||
|
|
||
|
As we resize the screen, we also find that the first one shrinks at twice the speed of the second one.
|
||
|
|
||
|
<img src = "https://i.imgur.com/pa4grM8h.png">
|
||
|
|
||
|
#### More Information:
|
||
|
|
||
|
<!-- Please add any articles you think might be helpful to read before writing the article -->
|