- From: François REMY <fremycompany_pub@yahoo.fr>
- Date: Tue, 7 Aug 2012 23:08:51 +0200
- To: "Alan Stearns" <stearns@adobe.com>, <www-style@w3.org>
| From: Alan Stearns
| >Secondly, when pseudo-elements are inserted or removed,
| >the reordering can become a nightmare.
|
| That's one problem that ordinals are meant to solve. If you know that
| pseudo-elements will be inserted or removed, you can choose ordinal
| spacing that allows for these changes without having to re-order
| everything. In your proposal to add slots to the content attribute,
| re-ordering can only be achieved by changing the entire content
attribute.
| You have to re-order everything to make a single insertion or removal,
| which seems more nightmarish to me.
I don't know which kind of metric you're using for that kind of purpose. For
myself, I use the "number of spot changes" one (I count the number of points
where I've to move the textedit cursor to in order to make a change). The
number of spot changes is largely in favor of class names.
[A] In the case I want to add a new pseudo-element in the first position of
the list
1) Ordinals:
- I've to add a new selector for the pseudo-element, for which
position will be one (one spot)
- I've to increment the value of every ordinal in every selector
which applies on the element (n spots)
- Complexity: O(n) with 'n' the number of pseudo-elements
2) Class names:
- I've to add a "slot(...)" value in first position of the "content"
declaration (one spot).
- I've to add a new selector for the element, if it requires
specific styling not covered by previous clas names (one or zero spot).
- Complexity: 1 or 2
[B] In the case I want to insert a new pseudo-element in the last position
of the list
1) Ordinals:
- I've to count how many pseudo I already use (one spot, if code is
ordered)
- I've to add a new selector for the pseudo-element, for which
position will be that number (one spot)
- Complexity: 2
2) Class names:
- I've to add a "slot(...)" value in first position of the "content"
declaration (one spot).
- I've to add a new selector for the element, if it requires
specific styling not covered by previous clas names (one or zero spot).
- Complexity: 1 or 2
[C] In the case I want to delete a pseudo-element anywhere in the list
1) Ordinals:
- I've to delete the rule that create it (one spot)
- I've to check all the ::before() + ::nth-pseudo() and edit their
numbering if needed (n spots)
- Complexity: O(n)
2) Class names:
- I've to remove a "slot(...)" value in the "content" declaration
(one spot).
- I've to check all the ::nth-slot() and edit their numbering if
needed (n spots)
- Complexity: O(n) but if you rely on class names only or mostly,
this can be down to a complexity of just '1'
François
Received on Tuesday, 7 August 2012 21:09:16 UTC