- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Wed, 7 Nov 2012 11:01:13 -0800
- To: "Kang-Hao (Kenny) Lu" <kanghaol@oupeng.com>
- Cc: WWW Style <www-style@w3.org>
On Wed, Nov 7, 2012 at 10:50 AM, Kang-Hao (Kenny) Lu <kanghaol@oupeng.com> wrote: > (12/11/08 2:30), Tab Atkins Jr. wrote: >> On Wed, Nov 7, 2012 at 4:30 AM, Kang-Hao (Kenny) Lu <kanghaol@oupeng.com> wrote: >>> The spec says >>> >>> # The ‘grid-column-position’ and ‘grid-column-span’ properties >>> # can be simultaneously specified with the ‘grid-column’ shorthand >>> # property. >>> >>> , but what would 'grid-column: "undefined1" "undefined2";' get expanded to? >>> >>> It would expect 'grid-column-position' to have 'undefined1' but what >>> about 'grid-column-span'? The initial value '1'? But what happens when >>> "undefined2" and "undefined1" are defined later? >> >> Huh? This is well-defined - you get "grid-column-span: >> 'undefined2';". (In the current draft syntax.) > > The spec says > > # Name: grid-column-span > # Value: <integer> | <identifier> > > so it can't be a <string>. Perhaps it's missing here or something, but > the spec doesn't have such an example so I can't tell. Sigh. Consider that a mismatch in the spec. It's currently halfway between supporting grid lines and not. This will be fixed in the next few weeks as I or Phil do more work on the spec. If you go with "supports grid lines", then take grid-column as written, and pretend that grid-column-span is "<integer> | <string> | <identifier>". If you go with "doesn't support grid lines", then pretend grid-column was written as "[ [ <integer> | auto ] <integer>? ] | <identifier>" and take grid-column-span as written. >>> Also, >>> >>> # EXAMPLE 17 >>> # >>> # <style type="text/css"> >>> # #item { >>> # /* the following two property definitions are equivalent */ >>> # /* both place the item between the first and third line */ >>> # /* which is covering the first and second row of the Grid */ >>> # grid-row-position: 1 3; >>> # grid-row-position: 1; grid-row-span: 2; >>> # } >>> # </style> >>> >>> but the grammar has >>> >>> # Name: grid-row-position >>> # Value: <integer> | <string> | <identifier> | auto >>> >>> , so I guess something is wrong. >> >> Yes, clearly the example meant to say "grid-row: 1 3;" in the first line. > > I don't think so, the spec says > > # 6.2. Grid shorthand properties > # > # Likewise, the ‘grid-row-position’ and ‘grid-row-span’ > # properties can be simultaneously specified with the ‘grid-row’ > # shorthand property. Note that the first input refers to the > # starting grid line, while the second, optional input refers to the > # span of the grid item if an integer, and the ending grid line if a > # string. > > so I think it should at least be 'grid-row: 1 2'. > > I intended to submit a detailed review but I had to stop here because I > can't even get what the properties are saying. There's also > > # The following example positions the first Grid item to cover the > # first two rows and columns of the Grid element. > # > # EXAMPLE 19 > # > # <style type="text/css"> > # /* covers the Grid element’s content box */ > # #item1 { > # grid-row: 1 3; > # grid-column: 1 3; > # } > > but shouldn't that be three rows and columns if I read the above > normative definition correctly. Fortunately, there's an example matching > the definition: > > # EXAMPLE 18 > # ... > # /* The following property will set column position to 3 */ > # /* And column span to 2 */ > # grid-column: 3 2; Bleh, yeah, you're right. Again, I plead mismatch as the competing ideologies led to spec edits, and those edits ended up being inconsistent. ~TJ
Received on Wednesday, 7 November 2012 19:02:02 UTC