W3C home > Mailing lists > Public > www-style@w3.org > May 2012

Re: [css3-align] The Great Alignment Bikeshed

From: François REMY <fremycompany_pub@yahoo.fr>
Date: Wed, 23 May 2012 11:50:35 +0200
Message-ID: <AD61CA78F70146D082ADCAFE00CE68F6@FREMYD2>
To: "fantasai" <fantasai.lists@inkedblade.net>, "CSS 3 W3C Group" <www-style@w3.org>
If you want to keep consistency with other CSS properties (border, 
background-position, ...) the axis should be at the end of the property name 
and there should be a shorthand to modify both axises.

    align-self: ( <value-for-both> | <value-for-axis1> <value-for-axis2> )
        align-self-axis1: <value-for-axis1>
        align-self-axis2: <value-for-axis1>

    align-content: ( <value-for-both> | <value-for-axis1> 
<value-for-axis2> )
        align-content-axis1: <value-for-axis1>
        align-content-axis2: <value-for-axis1>


While tempted, I'll not repeat what I already said on 'self' and 
'margin-align/padding-align'. I'll just share a quote, from the 
(I-know-you-all-love-it) w3schools.com website:

    The CSS padding properties define the space between the element border 
and the element content.
    The CSS margin properties define the space around the element.


“There are only two hard things in Computer Science: cache invalidation and 
naming things” (Phil Karlton)

-----Message d'origine----- 
From: fantasai
Sent: Wednesday, May 23, 2012 8:28 AM
To: www-style@w3.org
Subject: Re: [css3-align] The Great Alignment Bikeshed

On 05/14/2012 12:45 PM, Tab Atkins Jr. wrote:
> On Sun, May 13, 2012 at 4:21 PM, fantasai<fantasai.lists@inkedblade.net> 
> wrote:
>> Set 3: Outside/Inside/Items
>>
>>    +--------X----------------Y------
>>   A | justify-outside  align-outside
>>   B | justify-inside   align-inside
>>   C | justify-items    align-items
>
> This is my favorite.
>
> For one, I value the swapped ordering.  Having "justify" and "align"
> come first makes more sense to me, given our general rules for how
> alignment works.  It also puts us slightly farther away from the
> existing text/vertical-align properties, which is good.
>
> For two, outside/inside is very difficult to confuse, especially as we
> introduce more things using the inside/outside pair.

I pinged Aaron Gustafson and Lea Verou for comments, and they
both seemed to find the inside/outside pair confusing. If we
like the inversion, though, we can add another set to the list:

Set 4: Self/Content/Items Inversion

    +--------X----------------Y------
  A | justify-self     align-self
  B | justify-content  align-content
  C | justify-items    align-items

I think I'm leaning towards this myself, since it seems to fit
reasonably well with the flexbox model:

Set on flex container:
   align-content   - to set distribution of flex lines
   justify-content - to set distribution of items in each flex line
   align-items     - to set (default) cross-position of items
Set on flex item:
   align-self      - to set individual cross-position of item

Another concern that was raised was that align vs. justify is very
vague. This is because flexbox has its own set of axes independent
from writing mode, and we need a term that works for both. Lea
suggested 'inline-align' and 'stacking-align'; probably we could
shorten that to 'inline-align' and 'stack-align'. It would look
like this:

Set 5: Self/Content/Items Inline/Stack

    +--------X----------------Y------
  A | inline-align-self     stack-align-self
  B | inline-align-content  stack-align-content
  C | inline-align-items    stack-align-items

~fantasai 
Received on Wednesday, 23 May 2012 09:51:05 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:54 GMT