- From: Ian Hickson <ian@hixie.ch>
- Date: Tue, 3 Sep 2002 02:17:11 +0000 (GMT)
- To: fantasai <fantasai@escape.com>
- Cc: "www-style@w3.org" <www-style@w3.org>
On Mon, 2 Sep 2002, fantasai wrote: > > I know we've gone over this before, but you never told me *why* > this empty-string-generates-inline-box behavior is useful. I > think it's just confusing. <foo></foo> ...is empty per XML -- it contains nothing ('none'). It is defined as being the same as: <foo/> If foo is a block, then it has no line box contents, per CSS. Now, using the DOM, add an empty text node (""). Per XML, I think the closest we can get to serialising that is: <foo><![CDATA[]]></foo> This is not empty. If foo is a block, then it has a line box, per CSS, because it has inline content (an empty anonymous inline). I'm not saying this is useful. I'm just saying that's the way it is. Extending this to 'content', you have: element has text content content: 'bar' element has empty text content content: '' empty element content: none For an inline element, the last one is indistinguishable from the middle one, since the inline itself is in a line box already. Hence the hoops to get it to make display:none. > > > Why 'normal'? > > Because I didn't win the argument to call it 'auto'. :-) > Pity. What were the reasons against? I'll let the representatives of that point of view explain it, because I didn't fully understand it myself. -- Ian Hickson )\._.,--....,'``. fL "meow" /, _.. \ _\ ;`._ ,. http://index.hixie.ch/ `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 2 September 2002 22:17:12 UTC