- From: Bert Bos <bert@w3.org>
- Date: Wed, 07 May 2008 10:41:04 +0100
- To: www-style@w3.org
Eli Morris-Heft wrote: > > I noticed what seems to be a mistake or anomaly in the syntax > specification for the box-shadow property. The current syntax (as seen > at http://www.w3.org/TR/css3-background/#the-box-shadow) is laid out as: > > none | [ <length> <length> <length>? || <color> ] [ , <length> <length> > <length>? || <color> ]+ > > From what I understand about the notation used for the formats of > values and from the description of the property, this is not what the > spec would expect. Something like: > > 2px 2px #000 > > is forbidden due to the plus sign (+) after the second bracketed group. > It seems this should be an asterisk (*) so the second bracketed group > can be omitted if necessary. Yes, the grammar is incorrect. No only should the "+" ("one or more") be a "*" ("zero or more"), but also the comma is not optional in the second group. This is better: [grammar 1:] none | [ <length> <length> <length>? || <color> ] [ , [ <length> <length> <length>? || <color> ] ]* On the other hand, omitting the three <length>s is not very useful: without an offset, no part of the shadow is outside the border and thus none of it is visible. Maybe the offset should not be optional, or maybe the default offset should not be zero. The former (required offset) leads to a grammar like this [grammar 2:] none | <shadow> [ , <shadow> ]* where <shadow> = <length> <length> <length>? <color>? | <color> <length> <length> <length>? (I think the grammar for 'text-shadow' in the Text module is like this; and indeed I believe the grammar for 'text-shadow' and 'box-shadow' should be the same.) The latter, a non-zero default offset, could say that an omitted offset defaults to '1px 1px', or to a UA-dependent value. > (I agree with the comment there, though: > what are the use cases of multiple shadows? But I digress.) I originally put in that question in the hope that multiple shadows would not be necessary, but I've since discovered that they *are* quite useful. See the examples of a text outline and a 3D effect here: http://www.w3.org/Style/Examples/007/text-shadow#multiple To view the effect, you'll need Konqueror or a beta of Opera 9.5. Safari hasn't implemented multiple shadows yet. Although it has also been suggested that those two specific effects could be separated out, maybe as values on 'text-decoration'.... Bert -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM bert@w3.org 2004 Rt des Lucioles / BP 93 +33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Wednesday, 7 May 2008 09:41:53 UTC