- From: Giovanni Campagna <scampa.giovanni@gmail.com>
- Date: Tue, 14 Apr 2009 16:15:12 +0200
- To: François REMY <fremycompany_pub@yahoo.fr>
- Cc: www-style <www-style@w3.org>
2009/4/14 François REMY <fremycompany_pub@yahoo.fr>: > From: "Giovanni Campagna" <scampa.giovanni@gmail.com> >> >> The 8th of April has passed and the biggest issue with Selectors Level >> 3 (outside Unicode Normalization) that I found in the group wiki is >> the handling of ::first-line. So I would like to show my proposal, >> that tries to generalize the solution. Some of this probably belongs >> to Selectors Level 4, though. >> The problem is fundamentally that ::first-line does not select a box, >> it selects a sequence of text, which may cross box boundaries. This is >> the same problems we had with ::selection, for example. In fact, this >> applies to ::first-line, ::last-line, ::nth-line(an+b), ::selection, >> ::text(regexp,n), ::first-letter, etc. >> >> My proposal regards the processing model for "formatting >> pseudo-elements" (all the above). I included some examples to make it >> clearer, using ::selection because this is more likely to cross >> elements, but any pseudo-element in principle can be used. I used >> selectors to refer to blocks (and I assume that multiple declarations >> in the same block are early collapsed) >> >> [...] > > To see if I've understood you : > > Imagine the following markup : > > <style><!-- > .note::before { > content: 'Note: '; > } > > .note::selection { > // ... > } > --></style> > <div class="note"> > You <strong>should</should> not use this property unless > the context makes it necessary. > </div> > > And imagine I've selected the words 'Note: You should not' > > It will result, in the browser as : > > <div class="note"> > <::before> > <::selection>Note: </::selection> > </::before> > <::selection>You </::selection> > <strong> > <::selection>should</::selection> > </strong > <::selection> not</::selection> > use this property unless the context makes it necessary. > </div> > > Or as : > > <div class="note"> > <::selection> > <::before> > <::selection>Note: </::selection> > </::before> > You > <strong> > <::selection>should</::selection> > </strong > not > </::selection> > use this property unless the context makes it necessary. > </div> > > Regards, > Fremy > I've tried to avoid using "fake elements" (ie tags with double colon names), but I think the model I thought is probably the first you posted (all ::selection are siblings and are at the deepest level, even if they're attached to elements higher up) Giovanni
Received on Tuesday, 14 April 2009 14:15:47 UTC