- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Thu, 09 Jan 2020 21:07:21 +0000
- To: public-css-archive@w3.org
You're right that the first condition isn't sufficient, but some testing by me and @fantasai seems to show that it should be broadened in a different way. If the inline-block contains a scrollable *flexbox*, it still gets baseline-aligned per its content: ```html <!DOCTYPE html> <style> .inline-block { display: inline-block; } .test { background-color: lightgrey; overflow: hidden; } .border { border: solid blue; border-width: 1px 3px 5px 7px; } .padding { padding: 10px; } .margin { margin: 1px 3px 5px 7px; } </style> The boxes should align vertically: <div class="inline-block"> <div> <div class="test border padding margin" style="display:flex">X</div> </div> </div> <div class="test inline-block margin border padding">X</div> ``` So it looks like the condition, rather than "inline-blocks that are scroll containers", should be "block containers that are scroll containers". That covers the original condition, *and* makes your testcase valid per spec, as the inline-block tries to determine its baselines from its content, sees only a scrollable block container, and concludes that it has no baselines. (And then, per Inline, it synthesizes baselines from its own margin box.) Does this sound correct? ---- Aside: Form controls are fun here, as semi-replaced elements. `input` is baseline-aligned (and can't be made scrollable), but `textarea` and `<select multiple>` margin-align (because they're inherently scrollable). This should be written down somewhere... -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3611#issuecomment-572756316 using your GitHub account
Received on Thursday, 9 January 2020 21:07:23 UTC