You can put CSS into the email,
but all images have to be referenced absolute (full URL).
Images don't go with the email itself.
A few things ...
Not everyone accepts HTML emails, they have it set to plain text only.
I know with my email client, all images are blanked-out with [X] and then
a pop-up message asking me if I would like to see the images. I have to
"allow images" to view them. That makes my HTML emails look like crap
until I accept them. I can probably disable that security thing, but not
everyone will know how to get around it.
If the people you are sending your emails to expect the emails, then it might
be easier to get them set-up to receive them properly.