How Do I Set The Height Of An Iframe With The Min-height Property In The Body?
Solution 1:
This quote gives a very clear explanation about the height inheritance :
When you use a percentage value for height, it will always be relative to the specified height of the parent element. Not the actual height of the parent element, but the height specified in CSS.
So when your body element has no height specified (only min-height, but that does not count), the 100% will not be able to take effect.
https://stackoverflow.com/a/20681480/3168107
There isn't an easy fix (I definitely searched) for this that will allow minimum height but also make the elements adapt to screen overflow when using html
and body
without the top level having absolute dimensions. So this would be the easiest alternative :
iframe {
height: 80vh;
}
No need to set any height on either root element this way...
Another option would be to give the iframe absolute positioning. Without a positioned parent it will revert to the height of the viewport. It's basically the same effect as above but has deeper browser support (all modern browsers have been supporting it for a while though). On the other hand, not using absolute positioning is semantically more correct and gives better page flow.
Using display: table
is a possibility as well because height is treated as minimum height for table elements but that would be the hackiest of the approaches.
The margin issue can be solved by setting the style to display: block
or giving the parent a text-align: center
. The iframe is an inline element...
Post a Comment for "How Do I Set The Height Of An Iframe With The Min-height Property In The Body?"