Re: [css3-selectors][css-selectors] ::first-line pseudo-element badly underspecified

On Tue, 31 Jan 2006, Boris Zbarsky wrote:
> Then please specify it in a way that is possible to implement 
> interoperably.

It apparently is. For any common case, browsers behave interoperably, and 
for obscure cases, the differences (where they aren't in conflict with the 
spec) are mostly of academic interest and don't represent issues that 
would be considered problems by authors or users.

> > We considered saying that properties that are normally inherited would 
> > inherit from ::first-line (e.g. 'color') but properties that are not 
> > normally inherited would inherit from the parent element (e.g. 
> > 'display').
> This is likely to require interesting changes to existing CSS engines, 
> since it violates the existing invariant that you have a unique parent 
> you inherit from.

This has never been an invariant, ever since CSS1 introduced :first-line 
and let an element have two colours (one for one part and one for the next 
line's part). We agree that the 'inherit' keyword made things more 
complex, but only because it lets you inherit certain properties that you 
couldn't otherwise, and that's what we're saying should be cut off.

> But it would indeed resolve my issue in terms of ::first-line being 
> underspecified.


> I strongly suspect you wouldn't end up with two interoperable 
> implementations of this, but I'm happy to be proved wrong, I guess.

Well, it seems we already have more than two that do this.

Could you provide us with some test cases that show what you find to not 
be interoperable?

> > However, we would like to get a more comprehensive list of problems. 
> > If the 'inherit' keyword is the only problem, then it is resolvable, 
> > it seems, relatively easily.
> The "inherit" keyword is a symptom.  The problem is that first-line to 
> make sense as it stands you have to throw out the existing inheritance 
> model in CSS and introduce a new and more complicated one, as far as I 
> can see.  The "inherit" keyword makes this simple to demonstrate.

As mentioned above, I do not think it has ever been simple. This has been 
the case since CSS1.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Tuesday, 31 January 2006 19:44:42 UTC