- From: Loirooriol via GitHub <sysbot+gh@w3.org>
- Date: Sat, 03 Jun 2017 20:39:53 +0000
- To: public-css-archive@w3.org
This table is more clear. A blockification or inlinification is just a change of column.
<table>
<thead>
<tr>
<td colspan="2"></td>
<th>Block-level</th>
<th>Inline-level</th>
<th>Run-in</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="3">Flow-loose</th>
<td>Full</td>
<td><code>block flow-loose</code></td>
<td><code>inline flow-loose</code></td>
<td><code>run-in flow-loose</code></td>
</tr>
<tr>
<td>Short</td>
<td><code>flow-loose</code></td>
<td><code>inline</code></td>
<td><code>run-in</code></td>
</tr>
<tr>
<td>Box</td>
<td>block-level block container</td>
<td>inline box</td>
<td>run-in inline box</td>
</tr>
</tbody>
<tbody>
<tr>
<th rowspan="3">Flow-tight</th>
<td>Full</td>
<td><code>block flow-tight</code></td>
<td><code>inline flow-tight</code></td>
<td><code>run-in flow-tight</code></td>
</tr>
<tr>
<td>Short</td>
<td><code>block</code> (synonym: <code>flow-tight</code>)</td>
<td><code>inline-block</code></td>
<td><code>run-in flow-tight</code></td>
</tr>
<tr>
<td>Box</td>
<td>block-level block container</td>
<td>inline-level block container (with BFC)</td>
<td>run-in block container (with BFC)</td>
</tr>
</tbody>
<tbody>
<tr>
<th rowspan="3">Flow-root</th>
<td>Full</td>
<td><code>block flow-root</code></td>
<td><code>inline flow-root</code></td>
<td><code>run-in flow-root</code></td>
</tr>
<tr>
<td>Short</td>
<td><code>flow-root</code></td>
<td><code>inline flow-root</code></td>
<td><code>run-in flow-root</code></td>
</tr>
<tr>
<td>Box</td>
<td>block-level block container with BFC</td>
<td>inline-level block container (with BFC)</td>
<td>run-in block container (with BFC)</td>
</tr>
</tbody>
</table>
With this I don't think we need an `auto` inner type in order to decide between `flow-loose` and `flow-tight` when no inner type is specified. When no outer type is specified, the default also depends on whether the inner one is ruby or not, and no `auto` outer type is needed neither.
About the names, I think `flow-block` would be a better name for `flow-tight`, because it's the default for *block* containers like <code><i>block</i></code> or <code>inline-<i>block</i></code>.
Analogously, `flow-inline` might work for `flow-loose`, but generating a block container in the block-level case seems strange with that name. So I would prefer something like `flow-adapt`, because it adapts to the outer type, producing different kinds of boxes. Or maybe leave it as `flow-loose` or just `flow`. Probably someone else has better ideas.
About ruby, maybe add a new inner type called `ruby-root`, that behaves like `ruby` but makes the principal box establish a BFC. And say that "becoming a formatting context" transforms a `ruby` inner type to `ruby-root`, just like `flow-loose` and `flow-tight` are changed to `flow-root`.
--
GitHub Notification of comment by Loirooriol
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1496#issuecomment-306000127 using your GitHub account
Received on Saturday, 3 June 2017 20:40:00 UTC