layout/reftests/css-valuesandunits/unit-vh-vw-overflow-auto-ref-iframe.html

Wed, 31 Dec 2014 07:16:47 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:16:47 +0100
branch
TOR_BUG_9701
changeset 3
141e0f1194b1
permissions
-rw-r--r--

Revert simplistic fix pending revisit of Mozilla integration attempt.

michael@0 1 <style>
michael@0 2 body { overflow: hidden }
michael@0 3 div {
michael@0 4 width: 10px;
michael@0 5 height: 10px;
michael@0 6 background-color: #d64203;
michael@0 7 }
michael@0 8 </style>
michael@0 9
michael@0 10 <body>
michael@0 11 <div id="a"></div>
michael@0 12 <div id="b"></div>
michael@0 13 <div id="c"></div>
michael@0 14 <div id="d"></div>
michael@0 15
michael@0 16 <!--
michael@0 17 Deliberately make the scrollbars appear to ensure that with 'overflow: auto'
michael@0 18 viewport units are calculated as if the scrollbars are _not_ there.
michael@0 19 -->
michael@0 20 <div style="width: 500px; height: 500px; background-color: black">
michael@0 21 </body>
michael@0 22
michael@0 23 <script>
michael@0 24 // client{Width, Height} consist of the area _inside_ the scrollbars, so we need
michael@0 25 // to calculate these units with 'overflow: hidden' set to ensure that there are
michael@0 26 // no scrollbars. This reflects the fact that with 'overflow: auto' set, viewport
michael@0 27 // units are sized without taking the scrollbars into account.
michael@0 28 var vw = 0.01 * document.body.clientWidth;
michael@0 29 var vh = 0.01 * document.body.clientHeight;
michael@0 30 var vmin = Math.min(vw, vh);
michael@0 31 var vmax = Math.max(vw, vh);
michael@0 32 document.body.style.overflow = "auto";
michael@0 33 document.getElementById('a').style.width = (50 * vw) + "px";
michael@0 34 document.getElementById('b').style.height = (25 * vh) + "px";
michael@0 35 document.getElementById('c').style.width = (35 * vmin) + "px";
michael@0 36 document.getElementById('d').style.height = (25 * vmax) + "px";
michael@0 37 </script>

mercurial