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 -->
 |