Thanks for pointing to the explanation . I originally read it from Clare at Tanfa who actually discovered it but I'd not seen that other link.
The fix for IE that Paul used is explained here:
It's very informative but I think the last line needs some clarification.
That's not quite true as height and width will cause the element to have "layout" but it will not turn the element into an inline block when display:inline is added.
Elements having both hasLayout and display:inline work similarly to the standard inline-blocks:
That doesn't work but either of these do.
The important bit is that inline elements do not generate layout when height and width are added so therefore it is only the other "haslayout" triggers that are viable.
I suppose their final statement is actually true in that only elements that have "layout" and display:inline will act this way but omits to mention that height and width don't count in this instance because the display inline nullifies them from triggering "haslayout".