My only problem is making them line up three-across and have equal spacing. Apparently, spans can not have width and divs (and spans with display:block) don\'t appear horizo
What you might like to do is look up CSS grid based layouts. This layout method involves specifying some CSS classes to align the page contents to a grid structure. It's more closely related to print-bsed layout than web-based, but it's a technique used on a lot of websites to layout the content into a structure without having to resort to tables.
Try this for starters from Smashing Magazine.