- From: Matthew Raymond <mattraymond@earthlink.net>
- Date: Tue, 03 Jan 2006 05:59:25 -0500
- To: HeroreV <herorev@yahoo.com>
- CC: www-style@w3.org
HeroreV wrote: >>However, there're cases where you really >>wanted to have ::inside pseudo-element. >>And that's for cases where the backwards >>compatible styles go to the "real" element. > > There's also the case where the real element has > styling already applied to it. If you want to use an > ::outside psuedo element, you have to remove the > original styling from the real element and set it on > the ::outside psuedo element. > > p { > border: thin solid blue; > background-image: url(stripes.png); > } > p.special { > border: none; > background-image: none; > } > p.special::outside { > border: thin solid blue; > background-image: url(stripes.png); > } > > <::outside> > <p class="special"> > <child/> > <child/> > ... > <child/> > </p> > </::outside> [Snip!] Better idea: | p.special { /* Fallback styling */ } | p.special::outside { /* Outer stying */ } | p.special::outside > * { /* Inner stying */ } The <p> element is logically the child of its ::outside pseudo-element. Therefore, you should be able to style it as such. Since a legacy browser wouldn't recognize ::outside, it would ignore both the inner and outer styling and just use the fallback. This avoids introducing a confusing new pseudo-element that's merely and alias for the element itself.
Received on Tuesday, 3 January 2006 10:59:24 UTC