If we developers find it difficult to have cross-browser compatibility imagine email clients, well, we each implement whatever you want at any time, so in short, you can look for a site that shows you htm/css compatibility and choose the best approach to your html.
Campaignmonitor - Email Client CSS Support
Mailchimp - Email Client CSS Support
There are articles saying about good practice, about not using css in <head>
or not to use background-image
, most of them are outdated.
Another cool approach is to use templates on this site: Zurb - Template emails You can find a template by clicking on View Tests and it will do a simulation on different email servers, after finding a template with the features you need to just download or give a crtl+u to see how it mounted.
Ah, of course they use https://litmus.com/ which allows you to preview your templates before sending them.
Prepare for a painful journey...
– Pablo Almeida
Basically stick to HTML 4.x. The rest are small details. Avoid CSS.
– Bacco