I have the following CSS for my print style:
* { display:none; } #printableArea { display:block; }
You're taking the right general approach, but you want to use visibility: hidden instead of display: none so that you can set child elements to be visible.
visibility: hidden
display: none
See Print