- From: Daniel Holbert <dholbert@mozilla.com>
- Date: Mon, 21 May 2012 14:48:34 -0700
- To: www-style list <www-style@w3.org>
Hi www-style, I believe the new "elements that want to be replaced will form flex items" magic is still unclear on (at least) one thing. ( ED spec reference: http://dev.w3.org/csswg/css3-flexbox/#flex-items ) Consider this content, where the <object> doesn't load anything, which makes it render its contents (naked text in this case): <div style="display: flex> <object> This is a paragraph of text. [...] Here ends the paragraph of text. </object> </div> Presumably we'd expect these characteristics: (1) If we add style="width: 100px" on the <object>, it should honor that width, just as any other flexbox item would. (2) If we add style="height: 100px" on the <object>, it should honor that height, just as any other flexbox item would. (3) The <object>'s box should line-wrap its contents (in this case, a paragraph of text), as if it were a block. However -- since the <object> is display:inline (by default), it will actually generate an inline-level box, which won't have any of the above characteristics. That's bad. The <object> really needs a block formatting context for its contents to render into. The spec doesn't currently say whether or how it would get one of those, though. I think we need to somehow treat the <object> as if it were really "display:block" (or perhaps "display:inline-block", depending on what we want the baseline to be). Does this make sense? Moreover, would we want to make its display value *actually compute* to 'block', too? (I'm not sure whether it'd be more magical/surprising/hacky to have the display value actually change, or for us to just behave as if it had changed without actually changing it...) ~Daniel P.S. Alternate strawman suggestion: We also could say that the <object> ends up in its own special dedicated anonymous flex item. That would give it a block to render into. HOWEVER, it would break all of the various flex / flex-item-align / etc. properties (since those have no effect on things inside of anonymous flex items). We want those properties to work -- so I don't think we want to do that.
Received on Monday, 21 May 2012 21:49:19 UTC