RE: [css3-flexbox] spec review notes

>From: Tab Atkins Jr. [mailto:jackalmage@gmail.com]
>Sent: Monday, January 30, 2012 10:14 AM
>
>> -- 1.1 new values for 'display'
>>     # 'column-*' values compute to their initial values
>>
>> Why are multicol values singled out here? Are there no other
>> properties that don't apply?
>>
>> Is there a case for actually computing these values differently vs.
>> ignoring?
>
>No, either way would work.  I thought it made slightly more sense to
>compute them to their initial since they're *required* to have no effect,
>but simply ignoring them is fine.  I can switch if you'd like.

I would prefer ignoring. Having a special case for computing differently is OK if it makes difference somewhere, e.g. for inheritance. If not, letting them compute as usual is safer. There will be more non-applicable properties in the future, not touching them at all will be consistent.

>> -- 2.2.1. Positioning Absolutely Positioned Flexbox Items
>>
>>     # These placeholders are anonymous inline boxes with a width and
>> height of ‘0px’
>>
>> Are they actually zero height or default line height? Maybe zero
>> height is correct, just want to check.
>
>I'm not sure.  They're required to not affect the line height, but that's
>all I know.

I'll see if I can come up with a test.

>> It should have a note on drawing order
>
>I added "'flex-order' has no effect on stacking/layering; elements must
>still be drawn over/under each other based on document order, 'z-index',
>and other relevant means.".

Sounds good.

>> -- 4. Flexibility: the ‘flex()’ notation
>>
>> You have deleted "4.2 Resolving Flexible Length" in favor of layut
>> algorithm
>> - that's OK, but now this section doesn't say what flexibility means.
>> It should at least say that flexbox distributes available space to its
>> children proportional to flexibitliy.
>
>Good catch.  I've changed the opening paragraph of the section to:
>
>  | The defining aspect of flexbox layout is the ability to make the
>  | <i>flexbox items</i> "flex", altering their width or height to fill the
>  | available space.  This is done by using a ''&lt;flex>'' value in the
>  | element's 'width' or 'height' property.  A flexbox distributes free
>space
>  | proportionally to its items based on their flexibility.

Good. It could also say "or shrinks proportionally to negative flexibility".

>> -- EXAMPLE 7
>>
>>     # By using a vertical flexbox and ‘flex-align’, we can emulate the
>> functionality of HTML's <center> element:
>>
>> Actually not exactly, "flex-align:center" is "true center", right?
>
>Sure, it's not exact, but it's pretty close.

Ok, it's awesome that we finally have a way to implement <center>!
It would be more correct to say "behavior similar to the deprecated <center> element"

>> Alignment
>> formulas are missing from layout algorithm btw, so alignment behavior
>> is currently undefined
>
>Hm?  The layout algorithm says "For each flexbox line, align the flexbox
>items per ‘flex-align’.", and then flex-align describes precisely how to
>align them.

Does it? I guess it does, it just looked too simple to be precise, while it is.

Maybe the alignment section should mention that if items overflow in cross direction exactly same rules apply (so that it is clear that overflow case is not overlooked and true-center is intentional)?

>> -- 6.1. flex-line-pack property
>>
>> I think it should have two more values:
>>
>>     'distribute' -- to match flex-pack
>>
>>     'stretch' -- to stretch lines in cross direction (and it should be
>> default)
>
>Yeah, it makes sense to match 'flex-pack' and add 'distribute'.  Done.
> I've already added stretch.

cool

>I removed this issue on Friday.
>
>> -- Layout Algorithm
>>
>> I have a lot of notes on that, will send separately.
>
>Cool, I look forward to them!

Typing in the notes now.

Alex

Received on Monday, 30 January 2012 19:55:40 UTC