- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Fri, 02 Jun 2017 21:19:31 +0000
- To: public-css-archive@w3.org
Hmmm, okay. So the problem we're dealing with, basically, is that we split the "flow" types into a 2x2 grid of {inline, block}x{flow, flow-root}, but there's a very natural division that groups {block flow, block flow-root, inline flow-root} together separately from {inline flow}, rather than the naive 2/2 splits the syntax creates. This 3/1 split happens to be at least somewhat reflected in the legacy blockification behavior, and possibly in our desired inlinification behavior, too. Your suggestion is to instead use a 2x2x2 {inline-level, block-level}x{auto, block}x{flow-root, ∅} split, giving us 8 options, with several of them effectively identical. I think we can make a slightly simpler 2x3 split that gives us the same necessary distinctions and natural blockification/inlinification behavior, with less duplication: {inline-level, block-level}x{inline, block, block-root}. The mapping we obtain is thus: inline => inline-level inline block => block-level block inline-block => inline-level block block + BFC => block-level block-root The two "leftover" combinations, `block-level inline` and `inline-level block-root`, are indistinguishable from `block` and `inline-block`, respectively, except for the blockification/inlinification behavior, where they preserve "looseness" or "FC-ness" respectively. (I'm using `inline` as a display-inside because I really don't like using `auto` for something like this; it made me feel icky when I did it in an earlier draft, and I don't want to bring it back. It doesn't mean what `auto` traditionally means.) This also avoids adding `flow-root` to the *other* display-inside values, where it's meaningless. Meaningless combinations are a grammar smell. -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1496#issuecomment-305911809 using your GitHub account
Received on Friday, 2 June 2017 21:19:37 UTC