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

Re: [css-flexbox] new abspos logic

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 5 May 2015 16:15:26 -0700
Message-ID: <CAAWBYDBmcukmjdRJ5hjwFsp__7XO+YGmA39R97wdcSZhVKK+gg@mail.gmail.com>
To: Christian Biesinger <cbiesinger@google.com>
Cc: www-style list <www-style@w3.org>
On Wed, Apr 8, 2015 at 6:25 PM, Christian Biesinger
<cbiesinger@google.com> wrote:
> More questions on http://dev.w3.org/csswg/css-flexbox/#abspos-items -
>
> So the spec says:
> "In other words, the static position of an absolutely positioned child
> of a flex container is determined after flex layout by setting the
> child’s static-position rectangle to the flex container’s content box,
> then aligning the absolutely positioned child within this rectangle
> according to the justify-content value of the flex container and the
> align-self value of the child itself"
>
> I'm not completely sure how to interpret that especially in the case
> of auto margins. For example, given align-self: flex-end but margin:
> auto 0. Am I supposed to take a similar approach to the flex algorithm
> and ignore the flex-end here (because the margins centered it)...? Or
> should I ignore the margins and align it to flex-end because that
> matches this text more closely, even though it seems to contradict the
> previous paragraph a bit (which implies that only the static position
> is affected).

I've removed that paragraph.  It's just trying to rephrase the
previous paragraph, but it's doing so badly.  The previous paragraph
gives the correct behavior - treat it like it's a lone flex item and
do normal flex alignment (with all sizes fixed, so only alignment
occurs).  This really just means that, depending on margins and
alignment properties, it'll be start/center/end in each axis of the
flexbox's content box, but the more general text is easier to define
and handles any future values we add to the alignment properties
correctly.

> In fact, a strict reading of the quoted paragraph implies that
> align-self/justify-content override other alignment methods (e.g.
> top:0 bottom:0)...

No it doesn't; this is defining the static position.  The static
position doesn't take top/etc into account, and isn't used when
top/etc are non-auto.

~TJ
Received on Tuesday, 5 May 2015 23:16:14 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:54 UTC