- From: L. David Baron <dbaron@dbaron.org>
- Date: Wed, 23 Nov 2011 08:34:41 -0800
- To: Boris Zbarsky <bzbarsky@MIT.EDU>
- Cc: www-style@w3.org
On Wednesday 2011-11-23 08:29 -0800, L. David Baron wrote:
> On Monday 2011-11-21 08:19 -0500, Boris Zbarsky wrote:
> > On 11/21/11 7:44 AM, Florian Rivoal wrote:
> > >Section "8. Replaced content" says that when the content introduced by
> > >content: is a single url, then the element or pseudo element is a
> > >replaced element.
> >
> > This happens to not be compatible with what the "content" property
> > does in CSS 2.1, for what it's worth....
>
> I think you're misinterpreting what it says, or at least what it
> intended to say (since I think there's a section missing... though
> I'm having a bit of trouble reading the spec due to the obsoletion
> notice).
>
> http://dev.w3.org/csswg/css3-content/#inserting-and-replacing-content-with-the
> describes the value of 'content' as:
>
> [ [ <uri> | icon ] ‘,’ ]* [ normal | none | inhibit | <content-list> ]
>
> url() values can appear in two different places in this syntax:
> before a "," or inside of <content-list>. When they appear before a
> "," they are treated as a replaced element (as the spec describes).
> When they appear inside of <content-list>, they are processed under
> the CSS 2.1 model and are not a replaced element. (This bit is less
> clear because some of the subsections under <content-list> appear to
> be missing.)
>
> If 'content' contains a single url(), the only way to make the value
> fit the grammar is by making that url() part of the <content-list>
> production, in which case it is not treated as a replaced element.
And, actually, the spec does say this explicitly, though it's inside
the <uri> description at toplevel (whereas I think it might have
been clearer to put the part about how it behaves in <content-list>
inside of <content-list>, which is where I was incorrectly looking
for it):
# For URIs other than URIs in the last comma separated section of
# the value, as those in the following example:
#
# h1 { content: url(header/mng), url(header/png), none; }
#
# ...then if the URI is available and the format is supported, then
# the element or pseudo-element becomes a replaced element,
# [...]
# If the URI is part of the last comma separated value in the
# list, as the second URI in the following example:
#
# h1 { content: url(welcome), "Welcome to: " url(logo); }
#
# ...then if the file is available and the format is supported,
# then an anonymous replaced inline element is inserted, otherwise
# the image is ignored (as if it hadn't been given at all).
-David
--
𝄞 L. David Baron http://dbaron.org/ 𝄂
𝄢 Mozilla http://www.mozilla.org/ 𝄂
Received on Wednesday, 23 November 2011 16:35:21 UTC