[whatwg] Opera SVG Re: How to use SVG in HTML5?

Vlad Alexander (xhtml.com) vlad.alexander at xhtml.com
Mon Jan 28 09:34:09 PST 2008


Thank you Erik - this is what I was looking for.

Regards,
-Vlad
http://xhtml.com




-------- Original Message --------
From: Erik Dahlström
Date: 2008-01-28 11:16 AM
> On Mon, 28 Jan 2008 15:34:32 +0100, Vlad Alexander (xhtml.com) 
> <vlad.alexander at xhtml.com> wrote:
> 
>> Hi Erik,
>>
>> Thanks Erik, but I still don't get it. Can you please help me better 
>> understand the following:
>>
>> 1. What do the IMG element's width and height attributes establish?
> 
> The dimensions of the visual content of the element in CSS pixels, or 
> the "viewport" in SVG terms.
> 
>  From HTML5 [1]:
> The specified dimensions given may differ from the dimensions specified 
> in the resource itself, since the resource may have a resolution that 
> differs from the CSS pixel resolution. (On screens, CSS pixels have a 
> resolution of 96ppi, but in general the CSS pixel resolution depends on 
> the reading distance.) If both attributes are specified, then the ratio 
> of the specified width to the specified height must be the same as the 
> ratio of the logical width to the logical height in the resource. The 
> two attributes must be omitted if the resource in question does not have 
> both a logical width and a logical height.
> 
>> 2. In order to reproduce the same stretching behaviour using IMG 
>> element and SVG that exists between the IMG element and a raster 
>> image, the SVG must be written in a specific way?
> 
> Yes, just like a raster image it must specify its dimensions (or 
> intrinsic ratio) to produce a particular streching behavior. Nothing 
> strange about that IMHO.
> 
> There are at least two ways of doing that:
> a) having a 'viewBox' attribute on the svg root element
> b) having both 'width' and 'height' attributes (in any unit that is not 
> a percentage) on the svg root element
> 
> For both of the above, if a particular scaling behavior is wanted then a 
> 'preserveAspectRatio' attribute [2] should be added as well.
> 
> The reason for percentages being excluded in b) should be obvious, since 
> the svg coordinate system will then depend on arbitrary external 
> dimensions to establish its coordinate system (practical consequence 
> being that svg content may or may not be clipped).
> 
>> Can you please provide an example of how to modify the tiger.svg image 
>> so that it will work in my 3 test cases?
> 
> Applying option b), which will give you a scaled version:
> 
> <svg xmlns="http://www.w3.org/2000/svg"
>      xmlns:xlink="http://www.w3.org/1999/xlink"
>      height="800" width="600">
> ...
> 
> Or option a), with non-uniform scaling:
> 
> <svg xmlns="http://www.w3.org/2000/svg"
>      xmlns:xlink="http://www.w3.org/1999/xlink"
>      viewBox="0 0 600 800" preserveAspectRatio="none">
> ...
> 
> Or option b), with non-uniform scaling:
> 
> <svg xmlns="http://www.w3.org/2000/svg"
>      xmlns:xlink="http://www.w3.org/1999/xlink"
>      height="800" width="600" preserveAspectRatio="none">
> ...
> 
> Technically only variant a) is correct according to the specs at the 
> moment, so I would advise you to use that.
> 
> Cheers
> /Erik
> 
> [1] http://www.w3.org/TR/html5/#width3
> [2] http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute
> 





More information about the whatwg mailing list