Paul_o_b - 7:19 pm on Sep 28, 2011 (gmt 0)
@Paul: IE has always had problems with anything set to zero, be it font size, image height, etc. . . . but you could just as easily use display: none and an .active selector that's display: inline (or block)
I don't want to drag the thread off topic but you are confused a little there and I need to clear this up :)
If you set an image to be height:1px it will be exactly 1px in all IE and no more. Just try it and see. If you set it to 0px it will be 0px and invisible.
You are confusing this with IE6's behaviour when you set an element such as a div to have a height less that the current font-size/line-height as IE6 treats height as a minimum and will always expand an element to accommodate its content which in the case of an empty div is the current font-size/line-height. Setting line-height and font-size to zero will solve this problem as indeed would an overflow:hidden.
The problem does not happen with images because it is not a container for anything other than the image itself.
I have used the technique loads of times with no problems in any version of IE and commonly use it for rollovers as it avoids the hourglass flicking on and off in IE.
. . but you could just as easily use display: none and an .active selector that's display: inline (or block)
You lost me there - sorry :) If you set it to display:none then you will have nothing to hang your background image on. I feel you may have meant something else.