- From: Lea Verou <leaverou@gmail.com>
- Date: Sun, 20 May 2012 10:50:36 -0700
- To: fantasai <fantasai.lists@inkedblade.net>
- CC: "www-style@w3.org" <www-style@w3.org>
- Message-ID: <4FB92EEC.2040207@gmail.com>
I really like this unification attempt, and I'm looking forward for more such specs (something that unifies animations with transitions would be similarly great). In regards to naming: * The align- and justify- prefixes are confusing to me too, especially the latter. However, I understand the concerns against using "horizontal" and "vertical" in the name. How about using the axes in the naming? i.e. inline-align-* and stacking-align-* (the latter could just be align-*). * I also find "-inside" and "-outside" unintuitive. self/content sounds the most straightforward to me. inside/outside can mean a number of different things (align the element based on the outside? Align what's outside the element? Something else?) but self/content are not as prone to misinterpretation. Of course, introducing more inside/outside pairs in CSS helps, by forming a convention, but it does not change the fact that it's incomprehensible without that convention, which needs to be learned. * Also, the whole concept of "true alignment" is hard to grasp (what's the alternative? "false alignment"?). Not only the value should be something that includes "overflow" ("allow-overflow" perhaps?) but also the prose should use a more descriptive term too. However, opinions (even justified ones) are pointless when the problem is basically a usability issue (naming is to languages/APIs what UI is to applications). You need to conduct some sort of usability test, which in that case could be to collect feedback from as many authors as possible, ideally without even influencing them by having them read the spec. Perhaps present them with the alternatives and have them speculate on what each property/value does. The naming that gets the more correct(ish) guesses is the one that's probably more intuitive. Ideally, present different authors with different properties, so they're not even influenced by the possible alternatives (but that requires a much larger sample). I could help with that if you want. On 13/5/12 16:21, fantasai wrote: > So the CSSWG agreed last week to pursue a common alignment property > model, > based on the "Box Alignment" proposal I posted to the list a few weeks > ago. > This thread is on what names to use on each of the properties. Let's make > this quick, so we can use those names for Flexbox alignment! > > http://dev.w3.org/csswg/css3-align/ > > Fundamentally, we're breaking down the properties along two axes: > > * in which dimension are things being shifted? There are two: > X) inline (main) > Y) stacking (cross) > > * what's being aligned within what? > A) element itself within its containing block > B) element's contents within itself > C) element's child items within their container > > The last concept's a bit tricky: it exists due to 'flex-align', which > sets > the default cross-alignment (i.e. interpretation of 'flex-item-align: > auto') > for the child flex items. This is different from B), which for Flexbox > aligns > the entire stack of lines within the flex container (i.e. > 'flex-line-pack'). > For a grid container, it would set the default alignment of each grid > item > within its slot--as opposed to the alignment of the grid within the grid > element (if the grid is smaller than the grid element). The idea is to > control, as a set, all the children whose alignment container is not the > element itself, but some intermediate structure. > > On to the candidates! I have collected three sets, which you can mix and > match, below. (They are also listed in the draft.) > > Set 1: Box/Content/Default > > +--------X----------------Y------ > A | box-justify box-align > B | content-justify content-align > C | default-justify default-align > > > Set 2: Self/Content/Item > > +--------X----------------Y------ > A | self-justify self-align > B | content-justify content-align > C | item-justify item-align > > > Set 3: Outside/Inside/Items > > +--------X----------------Y------ > A | justify-outside align-outside > B | justify-inside align-inside > C | justify-items align-items > > What do you think works best? Why? Do you have another suggestion? > > p.s. If you want nicer typesetting of this issue, there's this overview: > http://dev.w3.org/csswg/css3-align/#overview > Further background is available in this email, which formed the basis > for the Box Alignment draft: > http://lists.w3.org/Archives/Public/www-style/2012Feb/0743.html > > ~fantasai > -- Lea Verou (http://lea.verou.me | @LeaVerou)
Received on Sunday, 20 May 2012 17:51:09 UTC