2 Answers
2

Why are you using CSS anyway? I use Scrivener, and I use the inbuilt features to convert to ebook formats.

In practice, there are only two ebook formats. Pdf is a terrible formats for eReaders, and I've never heard anyone using it as such. The two used by the biggest sellers (Amazon, B&N, Apple, Kobo etc):

Mobi for Kindle. I don't know about Kf8, but Scrivener uses Amazon's tool(which is downloadable for free) to convert to Mobi , and I assume it can deal with the new formats.

EPub for everyone else

Smashwords requires a Ms Word file, which is why I avoid them (as Word files are as bad as Pdf). Either go directly to the other sellers, or choose a distributor like Draft2Digital that directly accepts ePub.

Thanks. I'm not editing CSS via Scrivener but for tables and lists (to page break more smoothly), others have mentioned to edit the CSS. I'll stay away from Smashwords since I don't want to maintain a Word doc. Lots of people read PDFs. You also have full control over formatting. But again, that means you have to maintain 3 formats (pdf, mobi, and ebub). Scrivener can't do layout for PDFs like Apple Pages or InDesign can. So I'm still using two apps.
–
4thSpaceJun 9 '13 at 18:52

CSS is CSS: if an ebook format uses HTML/CSS, then that part should be the same regardless of the ebook format itself. Of course, not every ebook format will necessarily use HTML or CSS.

Yes, a WYSIWYG editor which is actively maintained (in order to support any new formats that come out) will make your life very easy, if it supports everything you need. You've implied that Scrivener isn't giving you the flexibility to format your lists the way you want, so using it isn't helpful in that regard. Using a markup language and a program to generate different output formats from it (like the one I mentioned in the other question) potentially has all the exact same problems. If it's not maintained, new formats will be inaccessible, and the markup language may not be flexible enough to do everything you want to.

So here's what I do: Generate your output using your preferred method (markup language and converter program, or WYSIWYG editor), and then manually tweak your output for any "picky" things that you couldn't achieve with your editor or markup language. This is the point where I start manually editing HTML and CSS: my program generates the bulk of it from the markup, but I can then unpack the EPUB (for instance) and edit the files directly to get them exactly the way I want.

For iterative development, I use diff and patch. It's a little tricky, and I've ended up using scons to create a whole build system for it, but the basic idea is: you generate your output, create a copy of it, edit the copy, then create a patch file by diffing the original and your modified. After you edit your story some more and want to generate the output again, and can apply your previous patch file again, instead of manually applying each change again.

It's by no means a simple solution, but there's generally a trade off between how much flexibility to want to be able to have, and how easy it will be to do.