W3C home > Mailing lists > Public > www-style@w3.org > February 2004

Re: Generated content and replaced inlines

From: Ian Hickson <ian@hixie.ch>
Date: Sun, 15 Feb 2004 18:42:08 +0000 (UTC)
To: Boris Zbarsky <bzbarsky@MIT.EDU>
Cc: www-style@w3.org
Message-ID: <Pine.LNX.4.58.0402151828560.21142@dhalsim.dreamhost.com>

On Sun, 15 Feb 2004, Boris Zbarsky wrote:
>
> Would it be at all possible to have CSS2.1 explicitly say that this is
> not supported?  Otherwise, by the time the relevant CSS3 module is ready
> there will be enough UAs out there supporting it and enough author
> expectations that it works that changing the behavior will effectively
> be impossible....

Well, the question is what do you think _should_ happen with replaced
content? I've been considering whether ::before and ::after nesting (as
described in Generated Content) should maybe just be removed, in favour of
a more generic technology like XBL being used. The question then becomes,
if we leave only the CSS2.1-level ::before/::after, wouldn't it be better
to allow that for replaced content?

One way of allowing it would be that once 'content' is set to replace the
element, then ::before/::after stop applying to the element itself, and
start applying to ::outside. So:

   Current specification              | Proposal
  ------------------------------------+------------------------------------
   element { content: normal; }       | element { content: normal; }
   element::before { }                | element::before { }
   element::outside { }               | element::outside { }
   element::outside::before { }       | /* not possible without XBL */
                                      |
   element { content: url(), normal } | element { content: url(), normal }
   /* element::before meaningless */  | /* n/a */
   element::outside { }               | element::outside { }
   element::outside::before { }       | element::before { }

With the inheritance always going:

         container
             |
          element
         ____|____
        |         |
    ::before  ::outside

...whether ::before is really inside the element or the ::outside pseudo.

Anyway, all this is still undecided. Which is why CSS2.1 will not say
anything about it.

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
U+1047E                                         /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'
Received on Sunday, 15 February 2004 13:42:11 GMT

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