- From: Anne van Kesteren (fora) <fora@annevankesteren.nl>
- Date: Mon, 19 Apr 2004 08:03:33 +0200
- To: Ian Hickson <ian@hixie.ch>
- Cc: www-style@w3.org
> Unfortunately (the awkward bit) this breaks inheritance (the inheritance
> has to be done in the original location, so things won't look like they
> belong where they were moved to). And it can require an excessive number
> of pseudo-elements.
I thought the amount of psuedo-elements was going to be limited in CSS3?
> For example, this is the mess you would need to wrap related <dt>s and
> <dd>s into one box with a border using this:
>
> dt { content: none; }
> dt::after { content: contents; flow: terms; }
> dd { flow: definitions; }
> dd + dt, dl::after {
> display: block;
> content: flow(terms) flow(definitions);
> border: solid;
> }
>
> I wish there was a simpler way.
In my opinion, there are two problem with this example:
1. I don't understand it directly.
2. I'm not an average CSS user.
By one, CSS is supposed to be a simple syntax which can be easily
learned. This certainly isn't an easy example. Why does the first rule,
'dt{content:none;}' exist? From where I see it, it is overwritten by the
fourth declaration, 'dd + dt'. Further, how what exactly are the
contents of 'dt::after', the contents of the DT element? (Doesn't make
sense to me, you could have applied 'flow:terms;' directly to DT if that
was the case.)
The fourth declaration seems to be a bit strange, you apply the same
content to multple elements?
And since CSS 2.1 is already very difficult to understand for a lot of
people I would suggest not to include this in the final draft. Maybe
css3-positioning can come up with something better for displaying the
document in a different "order" than one would expect from the structure.
By point two, I think I am, since I, most of the time, answer question
at forums, I don't ask.
--
Anne van Kesteren
<http://annevankesteren.nl/>
Received on Monday, 19 April 2004 02:05:37 UTC