- From: L. David Baron <dbaron@dbaron.org>
- Date: Wed, 25 Apr 2012 08:44:17 -0700
- To: "Kang-Hao (Kenny) Lu" <kennyluck@csail.mit.edu>
- Cc: WWW Style <www-style@w3.org>
On Tuesday 2012-04-10 02:11 +0800, Kang-Hao (Kenny) Lu wrote:
> While reviewing CSS3 V&U, I realized that 'cycle()' doesn't really solve
> a use case I thought it would solve.
>
> Use Case A: In a User Interface built by nesting elements (say,
> <table>), set background color on the elements alternatively along the
> nesting level. See picture[1]
Yes, it doesn't solve this case alone. (I've also never seen any
other examples of this case.)
It does solve this case in combination with variables, though, and
I think that's a better solution than making cycle() more complex.
For example:
table {
var-cycling-background: cycle(white, gray);
background: var(cycling-background);
}
> I would guess that my use case is more common than
>
> Use Case B (example 16): make an element italic, but make it normal if
> it's inside something that's italic.
>
> though I can't quite prove it. Perhaps Use Case A is really not very
> common. In any case, I believe they are both certainly more common than
This is the standard typographical convention for emphasis within
already-italicized text.
> Proposal A: For non-inheritable properties, define the inherited value I
> as the nearest non-initial computed value of an ancestor element. Make
> no change to the inherited value I for inheritable properties.
>
> Proposal B: 'cycle()' works as if there's an anonymous counter for each
> declaration with a 'cycle()', which is incremented when entering
> elements where that declaration applies and wins and decremented when
> leaving such elements. 'cycle()' returns the value corresponding to the
> value of the counter. (Some details about what 'a declaration' is
> missing for the moment.)
>
> I prefer Proposal B, and here some advantages and disadvantages:
I prefer suggesting that authors use variables in combination with
cycle() to address these cases, since that keeps the cycle() feature
substantially simpler.
-David
--
𝄞 L. David Baron http://dbaron.org/ 𝄂
𝄢 Mozilla http://www.mozilla.org/ 𝄂
Received on Wednesday, 25 April 2012 15:53:03 UTC