If you really want to be sure it's gonna be have no height you could use something like this:
display: block; line-height:0; height: 0; overflow: hidden;
If you're still having problems on IE, you could also add
to it in a stylesheet targeted at IE with a conditional comment. That'll trigger the hasLayout property in IE.
And display:none isn't the same as setting it to zero height. Just look at the various clearfix solutions for a case where not removing it from the flow is crucial.