Here's the approach I took
<li>
<ul>
<li>Father</li>
<li>Mother</li>
</ul>
<a href="http://www.clarkeology.com/names/clarke/21/james">James CLARKE1779 - 1860</a>
<div itemprop="spouse">
<a href="http://www.clarkeology.com/names/cole/19/elizabeth">Elizabeth COLE 1794 - 1865</a>
</div>
<ol>
<li><a>Child</a></li>
<li><a>Child</a></li>
<li><a>Child</a></li>
</ol>
</li>
then any <li>
throughout the tree can repeat like that (though if you add children AND parents to all of them you'd get a mess... generally just add one or the other once you get past the "core" person in that view.
Real example is on http://www.clarkeology.com with annotated css at /css/_tree.css and the code I wrote to parse a GEDCOM file and create the necessary html is at https://github.com/pauly/js-gedcom
I used itemprop
instead of class
above as I'm actually adding schema.org microformats to all mine too, but class would work just fine.
I really enjoyed the original css when I found it the other day, this has been fun to work on. Pull requests welcome on my code!