Have a look at this thread: css - Background image in Html Table for Email Template - Stack Overflow
Not specific to APEX but similar..
Or this presentation from Kscope 2013:http://wphilltech.com/wp-content/uploads/2013/06/St.Hilaire-eMail_Generation_v2.pdf
Gor, You'll have to huge problems with email.
1), the multiple clients and their lack of support for a LOT of features. On the presentation that Tim did (ODTUG KScope13 Presentation | W.P. Hill Tech) he does a great job talking about that.
2) Emails don't "run" from a browser like webpages do. They run inside the client and they are NOT connected to the sender. You you either send the images with the email or link back to a web server that has them.
So when you do something like this:
background:#ffffff url("bgimage.png") no-repeat right top;
You really should be doing:
background:#ffffff url("http://somewebsite/bgimage.png") no-repeat right top;
Also... the CSS syntax will have serious issues on some email clients. (see #1 above) they are simply not supported a lot of time.
Sending emails is a BIG pain.