the weird stuff happening with your description boxes is because of the way your css is written. from .animaldescription, remove margin-left: -55px; and add width: 527px;
the gray background isn't showing up in every board on your list because the class .animaltable wasn't being added to them, so to fix that u just move the table tag containing that class within {foreach $[board]}.
i took the liberty to reorder some of your table stuff so hopefully it makes a little bit more sense now. you might have to mess around with the heights and widths a bit to get them aligned right. also, the cells for the subboards and the recent posts are right next to each other and will increase in height if you add more to one side or the other so you might want to contain them by giving their div containers fixed heights and widths.
i hope this helps!
<table class="list" role="grid">
<thead>
{foreach $[board]}
<table class ="animaltable">
{if !$[board.is_redirect]}
<tr id="$[board.content_id]" class="$[board.content_class]"><td>
<table>
<tr> <th class="animalcategory"></th> </tr>
<tr> <td class="animaltitleboard"><div class="animaltitle">$[board]</div></td><td class="animaldescriptionbox"><div class="animaldescription">$[board.description] </div></td> </tr> <tr><td class="animalsubboardsbox"><div class="animalsubboards">{if $[board.sub_board] > 0} {if $[board.sub_board] != 1}{/if}{foreach $[board.sub_board]}<a href="$[board.sub_board.href]">$[board.sub_board.name]</a>$[board.sub_board.comma] {/foreach} </div>{/if}</td><td class="animalrecent">{if $[board.posts] > 0}
{if $[board.last_thread]}
$[board.last_thread.recent_link] by $[board.last_thread.last_post.created_by]
{/if}
{else}
{/if}</td></tr> </table>
</td>
</tr> </table></thead>
</table>
|