I honestly don't see the point in dictating most of those properties in the body. Having to adjust a reader's various overrides (if the reader CAN override all of those settings) each time they open a different ebook from a creator (who each has their own preferences for many of these settings) can get a bit annoying.
I know you embed a font to get around certain characters missing from many readers' system fonts--and I can sympathize with that (although I wish there was a better solution)--but the rest seem really unnecessary to me.
The CSS for the body of all my ebooks looks like this:
Code:
body {
margin-top: 0;
margin-right: 3px;
margin-bottom: 0;
margin-left: 3px;
padding: 0;
}
I got in the habit of using the long-form css margin-notation simply because I've seen mention of some devices that choke on the short-hand notation.
I add an @page to add a bit of top/bottom margin in my personal ebooks just to keep text from getting hidden by the controls on my preferred epub reading software:
Code:
@page { margin-top: 5pt; margin-bottom: 5pt; }
I see no point in dictating the base line-height at all.