Full-screen iframe with a height of 100%
You could use frameset as the previous answer states but if you are insistent on using iFrames, the 2 following examples should work:
<body style="margin:0px;padding:0px;overflow:hidden"> <iframe src="http://www.youraddress.com" frameborder="0" style="overflow:hidden;height:100%;width:100%" height="100%" width="100%"></iframe></body>
An alternative:
<body style="margin:0px;padding:0px;overflow:hidden"> <iframe src="http://www.youraddress.com" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="100%" width="100%"></iframe></body>
To hide scrolling with 2 alternatives as shown above:
<body style="margin:0px;padding:0px;overflow:hidden"> <iframe src="http://www.youraddress.com" frameborder="0" style="overflow:hidden;height:150%;width:150%" height="150%" width="150%"></iframe></body>
Hack with the second example:
<body style="margin:0px;padding:0px;overflow:hidden"> <iframe src="http://www.youraddress.com" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:150%;width:150%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="150%" width="150%"></iframe></body>
To hide the scroll-bars of the iFrame, the parent is made overflow: hidden
to hide scrollbars and the iFrame is made to go upto 150% width and height which forces the scroll-bars outside the page and since the body doesn't have scroll-bars one may not expect the iframe to be exceeding the bounds of the page. This hides the scrollbars of the iFrame with full width!
3 approaches for creating a fullscreen iframe
:
Approach 1 - Viewport-percentage lengths
In supported browsers, you can use viewport-percentage lengths such as
height: 100vh
.Where
100vh
represents the height of the viewport, and likewise100vw
represents the width.body { margin: 0; /* Reset default margin */}iframe { display: block; /* iframes are inline by default */ background: #000; border: none; /* Reset default border */ height: 100vh; /* Viewport-relative units */ width: 100vw;}
<iframe></iframe>
Approach 2 - Fixed positioning
This approach is fairly straight-forward. Just set the positioning of the
fixed
element and add aheight
/width
of100%
.iframe { position: fixed; background: #000; border: none; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%;}
<iframe></iframe>
Approach 3
For this last method, just set the
height
of thebody
/html
/iframe
elements to100%
.html, body { height: 100%; margin: 0; /* Reset default margin on the body element */}iframe { display: block; /* iframes are inline by default */ background: #000; border: none; /* Reset default border */ width: 100%; height: 100%;}
<iframe></iframe>
1. Change your DOCTYPE to something less strict. Don't use XHTML; it's silly. Just use the HTML 5 doctype and you're good:
<!doctype html>
2. You might need to make sure (depends on the browser) that the iframe's parent has a height. And its parent. And its parent. Etc:
html, body { height: 100%; }