display: inline-block removes Mac IE5's need for explicit widths on floats

With no contained block elements

When floated elements contain no block-level elements, Mac IE5 is quite content to behave itself.

With a { display: block; }

Add in a block-level element and things go awry with the floats becoming as wide as they can. This is the infamous "you must set an explicit width" for Mac IE5 floats.

With a { display: inline-block; }

Feed Mac IE5 display: inline-block instead though, and the problem goes away. As a benign side-effect IE 6 now makes the entire a element hoverable, something which is also only usually achievable when it has an explicit width set. Modern browsers have been fed display: block simply because Safari inserts space underneath the element.

And finally...

An example using divs to show that it's not the display: inline-block set on the ul elements to enable easy clearing that's the cause.

hello
still here
goodbye