- From: Daniel Holbert <dholbert@mozilla.com>
- Date: Thu, 14 Feb 2013 15:24:51 -0800
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: Boris Zbarsky <bzbarsky@mit.edu>, www-style list <www-style@w3.org>
On 02/14/2013 03:08 PM, Tab Atkins Jr. wrote: > That's a spec violation. :/ http://dev.w3.org/csswg/css3-flexbox/#min-size-auto FWIW, dbaron actually started a thread in May about that chunk of spec text being potentially-problematic.[1] He and bz[2] suggested that the special behavior applies to the used value, not the computed value. You had one post in that thread[3] responding to dbaron, but I'm not clear on whether you were agreeing with them or not. [1] http://lists.w3.org/Archives/Public/www-style/2012May/0655.html [2] http://lists.w3.org/Archives/Public/www-style/2012May/0663.html [3] http://lists.w3.org/Archives/Public/www-style/2012May/0659.html > Also, I don't understand what you mean. Why do the flex containers > have to care? It's the children that have the value, and which are > computing to min-content. The flex containers perform the flex layout algorithm, which takes the children's min-width values as inputs. That doesn't really answer your question, though -- here's a more complete response: [warning: gecko implementation details below] I think you're imagine that a UA determines the computed value of "min-width:auto" on a node by inspecting its parent's computed style, and resolving "auto" to either "min-content" or "0" depending on the parent's "display" and "flex-direction" values. That makes sense, I think, but in practice, that can't (currently) work in Gecko. When we're computing the value of a given property on a given node, we only allow it to inspect a subset of the parent's computed style (specifically, the properties that we store in the same "style struct" -- basically, a group of closely-related properties). This allows inheritance to work (because we can see the value of our property on the parent) without the child needing access to *all* of the parent's computed style. As it happens, min-width is stored in a different style-struct than 'display' and 'flex-direction', so it can't inspect those properties on the parent. So, we can't actually resolve "min-width:auto" during style-computation -- so we leave it at "auto" and convert it as-necessary when it's used. Anyway, this will all be moot if min-width:auto is removed, so it may not be worth worrying too much about.
Received on Thursday, 14 February 2013 23:25:20 UTC