- From: Anton Prowse <prowse@moonhenge.net>
- Date: Mon, 23 Jul 2012 11:41:50 +0200
- To: www-style@w3.org
- CC: "Aharon (Vladimir) Lanin" <aharon@google.com>, fantasai <fantasai.lists@inkedblade.net>
On 22/07/2012 10:43, Aharon (Vladimir) Lanin wrote: >>>> On 07/14/2012 07:12 PM, Anton Prowse wrote: >>>>> >>>>> (1) The definition of "principal block-level box" is >>>>> extended to "principal box" for a wider range of elements >>>>> (inline block, inline table and table cell in addition to >>>>> block-level elements).This >>>>> has no effect on the rest of the spec, since the only cases >>>>> where the principal box is referred to is in the context of >>>>> block-level elements/boxes. >>>>> >>>>> (2) The term "block container element" is introduced to mean >>>>> an element whose principal box is a block container box, ie a >>>>> block, list-item, inline-block, table, inline-table or >>>>> table-cell in CSS21. > > A couple of questions: > > - Is this discussion relevant to CSS 2.1 only? In other words, is a "block > container" defined in CSS3 somewhere? "Block container box" is currently defined in css3-box but that spec needs a fair bit of work to get it roadworthy. The official definition is in CSS21 right now. "Block container element" will also be defined in css3-box, but it would be very useful to have that term in CSS21 to help solve several of the issues on that spec that are filed for fixing in errata. > - Would the proposed definition also apply to such things as <textarea>, > elements with float, and elements with absolute position? Right now, non-replaced floated boxes and abspos boxes are classified in CSS21 as being block container boxes. Floats are defined to be block-level boxes, but IIRC CSS21 is a little vague about whether abspos boxes are block-level; the implication is that they are, because the computed value of 'display' is set to 'block', irrespective of the specified value. Hence floats and abspos boxes are principal (block-level) boxes according to the current spec, and will continue to be under my proposed change. Hence non-replaced floats and abspos elements will indeed be block container elements. <textarea> is harder to speak for, since HTML form elements are magic and CSS doesn't entirely define their behaviour. I think of form elements as being replaced elements. Whether that's the case or not, <textarea> (along with <input>, <select> and <button>) are recommended in Appendix D to be inline-blocks. This means that: (1) the atomic box that these four elements (and indeed inline blocks in general) generate will be a "principal box" under my proposed change. (2) the question of whether they will be block container elements depends on whether their principal box is a block container box. If you believe, like I do, that they are replaced elements, then their principal box is /not/ a block container box. If they are not replaced elements, then implementations each need to decide upon an answer. Cheers, Anton Prowse http://dev.moonhenge.net
Received on Monday, 23 July 2012 09:42:25 UTC