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

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

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

mercurial