How to make flexbox children 100% height of their parent using CSS?
CSS Flexbox is an awesome tool to create website layouts. Making a flex-box child 100% height of their parent can be done in two ways. It is little tricky because, certainly it will display an error.
For example, the child may flow out of the parent boundary or it may not get upto 100% height that you will see in your browser output.
Example 1: This example makes a child flex-box of height 100% using CSS.
<!DOCTYPE html> < html > < head > < title > Make flex-box child height 100% </ title > < style > * { padding: 0; margin: 0; } .container { width: 100vw; height: 50vh; background-color: green; display: flex; justify-content: center; align-items: center; } .child-div { height: 100%; background-color: red; margin: 0 20px; } </ style > </ head > < body > < div class = "container" > < div class = "child-div" > One </ div > < div class = "child-div" > Two </ div > < div class = "child-div" > Three </ div > < div class = "child-div" > Four </ div > < div class = "child-div" > Five </ div > </ div > </ body > </ html > |
Output:
Example 2: The second way to achieve this by using align-items property in the parent div to ‘strech’. It makes every .child-div 100% height of it’s parent height.
<!DOCTYPE html> < html > < head > < title > Make flex-box child height 100% </ title > < style > *{ padding: 0; margin: 0; } .container{ width: 100vw; height: 50vh; background-color: green; display: flex; justify-content: center; align-items: stretch; } .child-div{ background-color: red; margin: 0 20px; } </ style > </ head > < body > < div class = "container" > < div class = "child-div" > One </ div > < div class = "child-div" > Two </ div > < div class = "child-div" > Three </ div > < div class = "child-div" > Four </ div > < div class = "child-div" > Five </ div > </ div > </ body > </ html > |
Output:
Example 3: This example makes width of child to 100% of there parent.
<!DOCTYPE html> < html > < head > < title > Make flex-box child width 100% </ title > < style > * { padding: 0; margin: 0; } .container { width: 100vw; height: 50vh; background-color: green; display: flex; flex-direction: column; justify-content: center; align-items: stretch; } .child-div { background-color: red; margin: 20px 0; padding: 5px; } </ style > </ head > < body > < div class = "container" > < div class = "child-div" > One </ div > < div class = "child-div" > Two </ div > < div class = "child-div" > Three </ div > < div class = "child-div" > Four </ div > < div class = "child-div" > Five </ div > </ div > </ body > </ html > |
Output:
Recommended Posts:
- How to make div height expand with its content using CSS ?
- How to set space between the flexbox ?
- Advance CSS layout with flexbox
- How to set flexbox having unequal width of elements using CSS ?
- Flexbox utilities in bootstrap with examples
- How to vertically align text inside a flexbox using CSS?
- How to vertically and horizontally align flexbox to center ?
- HTML | DOM children Property
- PHP | SimpleXMLElement children() Function
- How to check if an element has any children in JavaScript ?
- How to select all children of an element except the last child using CSS?
- What is the difference between children and childNodes in JavaScript?
- p5.js | parent() Function
- jQuery | :parent Selector
- SASS | Parent Selector
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.