blob: a794e46622b2c2d2405b6d324f1aa308c4e96157 [file] [log] [blame]
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!DOCTYPE html>
<html>
<head>
<!--
The original and initial filename of this test was
diagonal-percentage-vector-background.html
-->
<title>CSS Backgrounds and Borders Test: scaled vector image without intrinsic dimensions as background, with rendering dependent on the diagonal</title>
<link rel="author" title="Jeff Walden" href="http://whereswalden.com/">
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
<link rel="help" href="http://www.w3.org/TR/SVG/coords.html#IntrinsicSizing">
<link rel="help" href="http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute">
<link rel="match" href="reference/diagonal-percentage-vector-background-ref.html">
<meta name="flags" content="svg">
<style type="text/css">
div
{
background-image: url("support/diagonal-scaled.svg");
background-repeat: no-repeat;
border: black solid 8px;
height: 360px;
width: 436px;
}
/*
Complete quotation of the SVG object code:
<svg xmlns="http://www.w3.org/2000/svg">
<title>Vector image without intrinsic dimensions with percentage stroke-width (proportional to the diagonal)</title>
<rect y="0" width="100%" height="50%" fill="lime"/>
<rect y="50%" width="100%" height="50%" fill="aqua"/>
<!--
A percent stroke-width is resolved with respect to:
d = sqrt(vh**2 + vw**2) / sqrt(2)
where vh/vw are the image viewport width/height. Because this image has no
intrinsic dimensions or ratio, it expands to fill the entire background
positioning area, so its width is 100px and its height is 700px. For those
carefully-chosen dimensions, d = 500px, so 10% of that creates a 50px-wide
rectangle, vertically centered and horizontally left-aligned in the image.
-->
<line x1="25%" y1="25%" x2="25%" y2="75%" stroke="fuchsia" stroke-width="10%"/>
</svg>
So:
d = sqrt(vh**2 + vw**2) / sqrt(2)
With width: 436px; (instead of 100px) and height: 360px; (instead of 700px):
d == sqrt ((436 mult 436) + (360 mult 360)) / sqrt(2)
d == sqrt ((190096) + (129600)) / sqrt(2)
d == sqrt ((319696)) / sqrt(2)
d == 565.416660526px / 1.41421356237
d == 399.809954854px
and so 10% of 399.809954854px == 39.9809954854px =~ 40px
*/
</style>
</head>
<body>
<div></div>
</body>
</html>