Limit Flexbox Height To Browser Window (currently It's Overflowing Causing Vertical Scroll)
Solution 1:
You need to adjust your height: 100%
in two places. Currently, it's combining with additional px
heights defined in your code, which is causing the overflow in the browser window.
Instead of this:
.layout-flex-container {
height: 100%;
}
aside > nav {
height: 100%;
}
Try this:
.layout-flex-container {
height: calc(100% - 128px); /* subtract the defined height of the header element */
}
aside > nav {
height: calc(100% - 64px); /* subtract the defined line-height of the h2 element */
}
Learn more about the CSS calc
function at W3C:
8.1. Mathematical Expressions:
calc()
The
calc()
function allows mathematical expressions with addition (+), subtraction (-), multiplication (*), and division (/) to be used as component values. Thecalc()
expression represents the result of the mathematical calculation it contains, using standard operator precedence rules. It can be used wherever<length>
,<frequency>
,<angle>
,<time>
,<number>
, or<integer>
values are allowed. (Read more.)
Solution 2:
For main containers like these, it's best to use 100vh and 100vw.
Read here about the modern CSS units: http://tutorialzine.com/2015/05/simplify-your-stylesheets-with-the-magical-css-viewport-units/
Don't forget to use inherit
as much as possible on children elements (when it works). This way you ensure a proper cascade of height elements.
Post a Comment for "Limit Flexbox Height To Browser Window (currently It's Overflowing Causing Vertical Scroll)"