No, display: none
would not work.
The only real way around this is to not have it in your HTML whatsoever. Make it an image for example, or use JavaScript to descramble it into individual elements that can be placed absolutely (and individually) for a browser's human viewer to see correctly.
Note that if you go the image route, spambots can of course read images, so perhaps you should obfuscate it a little bit with some random images like the good old captchas.
With regards to CSS3 not supporting visibility
/display
, you'd be right, but you can use the opacity property to fade in the content of however you decide to display your email address. opacity
is fully supported by CSS3 transitions.