... and here are the three demo's.
CSS 2 Gradient image stretch to height demo
CSS 3 Gradient image stretch to height demo
CSS 3 Background gradient as border demo
The first one uses a img tag (boo! hiss!) strategically placed behind the content. It's sloppy, but has the best compatibility AND performance.
The second one uses the same background-image with CSS 3's background-size, and as such will not resize the background on legacy browsers.
The third one uses linear-gradient to generate the background, so no images are needed. It actually has the best support even working all the way back to IE 5.5 thanks to the use of a filter, but also has some performance issues if the content ends up particularly large. In general though I consider this the best of the approaches -- while all the blasted different browser implementations can drive you batty code-wise, it's 670 bytes with comments to avoid an extra file handshake to the server -- so even though the code is larger than the .png, it may in fact load faster.
Hope this helps -- figured I'd give you a bunch of choices as depending on the content these may or may not meet your needs; there are advantages and disadvantages to each of them.
Oh, I gave it 8px of border to make it clearer what's going on... and used EM's on everything else so it's clear what's margins/padding for layout and what's the border.