Why does an iframe add extra space under its element? Look at this weird behavior:
.border {
background: red;
width: 300px;
height: 200px;
border: 1px solid green;
overflow: visible;
margin: 0;
padding: 0;
}
.border iframe {
border: none;
width: 300px;
height: 100px;
margin: 0;
padding: 0;
opacity: 0.8;
}
.border .lower {
height: 100px;
margin: 0;
padding: 0;
background: blue;
opacity: 0.8;
}
<div class="border">
<iframe src="https://example.com"></iframe>
<div class="lower"></div>
</div>
How to work around?
What worked for my app, was adding
overflow-y: hidden;
to the html of the iframe.here is another answer please check it ...
iframe
is an inline element. This takes whitespace in your HTML into account.display:inline-block
is notorious for being difficult.Add
display:block;
to the CSS for your iframe.The easiest way to do this is to just add "style="display:block"" in the iframe params.
for example
The
iframe
element is an inline element. One way of fixing the spacing issue is addingdisplay: block
, but you can also fix it by simply addingvertical-align: bottom;
to theiframe
element.Add
display:block;
to your iFrame style like so:iFrame is an Inline Frame, meaning that it is an inline element, which like the img tag, can have issues with whitespace. Setting
display:block;
on it turns the iFrame into a block element (like a div), which will remove the whitespace issue.