Re: CSS2.1 Various Inline-related Stuff

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