W3C home > Mailing lists > Public > www-style@w3.org > January 2007

Re: Definition of a replaced element

From: Mike Bremford <mike-css@bfo.co.uk>
Date: Wed, 3 Jan 2007 13:57:12 +0000
Message-Id: <7BAD3FCE-9C94-4B2A-A781-08AD479AB660@bfo.co.uk>
To: www-style <www-style@w3.org>

OK, but if I do this:

<?xml version="1.0" standalone="yes"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http:// 
www.w3.org/2000/svg">
   <body style="fill:red">
     <svg:svg width="4cm" height="8cm" version="1.1">
       <svg:ellipse cx="2cm" cy="4cm" rx="2cm" ry="4cm" />
     </svg:svg>
   </body>
</html>

the SVG tag is not going to inherit the fill from the body tag. Yes,  
SVG uses CSS internally, but it's still considered a separate  
document. Try this in Amaya, which supports foreign namespaces like  
this, and you'll see what I mean.

To satisfy Anne and answer your specific question, the CSS Formatter  
is what's being used to lay out the HTML document - there's a box  
model and so on. Yes, SVG uses CSS attributes and CSS constructs, but:

* it doesn't use the CSS formatting rules to lay out the contents of  
the SVG
* it doesn't inherit attributes from outside the <svg>...</svg> tags.

It is an entirely seperate document, and the fact that it uses CSS  
attributes internally is coincidental and makes no difference to how  
it's positioned by the CSS formatter that is your browser.


Cheers... Mike


On 3 Jan 2007, at 13:24, Martijn wrote:

> On 1/3/07, Mike Bremford <mike-css@bfo.co.uk> wrote:
>>
>> A replaced element is just a "black box" to CSS - the internal
>> content of that box is defined by something outside CSS. Examples are
>> SVG graphics as you've pointed out, but also bitmap images, java
>
> Well, svg can be styled with css, like for instance, 'fill', 'stroke',
> but apparantly svg elements also use css properties like 'font' (and
> derivative), 'direction', 'cursor', etc.
> So the <svg> element doesn't seem to me like a "black box" to css.
>
> Regards,
> Martijn
>
>> applets, flash, and even Text nodes (not immediately obvious, but
>> makes sense if you imagine each Text node in the DOM as a box, with
>> an inherent width/height based on the font, the letters and so on).
>>
>> For example, consider a bitmap image. Although you can specify a
>> width, height etc. which controls how that box is positioned, there's
>> nothing you can do in CSS to control the contents of that box. That's
>> all "replaced element" means.
>>
>> Cheers... Mike
>>
>>
>> On 3 Jan 2007, at 12:24, Martijn wrote:
>>
>> >
>> > I was reading this mail thread:
>> > http://lists.w3.org/Archives/Public/www-svg/2007Jan/0001.html
>> >
>> > And it was mentioned that <svg> was a replaced element.
>> >
>> > When I look at the definition of a replaced element:
>> > http://www.w3.org/TR/CSS21/conform.html#replaced-element
>> > Apparently this applies to the <svg> element, right?
>> > "An element that is outside the scope of the CSS formatter"
>> > So the content of an <svg> element is outside the scope of the CSS
>> > formatter?
>> > Wat is exactly is the CSS formatter?
>> >
>> > Definition of Rendered content:
>> > http://www.w3.org/TR/CSS21/conform.html#rendered-content
>> > "The rendered content of a replaced element comes from outside the
>> > source document"
>> > That seems to be not the case for the <svg> element, or am I
>> > misreading this in some way?
>> >
>> > Regards,
>> > Martijn
>> >
>> >
>> > --
>> > Martijn Wargers
>> > Help Mozilla!
>> > http://weblogs.mozillazine.org/qa/
>> > http://www.mozilla.org/contribute/
>> >
>>
>>
>>
>
>
> -- 
> Martijn Wargers
> Help Mozilla!
> http://weblogs.mozillazine.org/qa/
> http://www.mozilla.org/contribute/
Received on Wednesday, 3 January 2007 13:57:42 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:49 GMT