Consider the following JSFiddle, which uses jQuery’s slideToggle (i.e. slideUp or slideDown) to reveal/hide an input element:
The top input looks wonky while sliding up and down, because I am sliding the element directly.
The second input looks much nicer.
Can I get the second effect, but without the extra div?
jQuery allowed. Dynamically inserting extra divs via JavaScript not preferred; hoping there’s something nicer I can do.
Defining the input display as block helps and seems to work in IE7. Leave it to you to decide if acceptable UI or not
http://jsfiddle.net/sfN9C/1/