I would suggest a grid-based CSS framework, such as http://www.blueprintcss.com/ . They eliminate most the headaches of cross-browser bugs in CSS for layout, at the (comparably minor) expense of including some non-semantic class names.
When I started learning presentation layer I went straight to HTML/CSS. Tables have always seemed ungainly and unmanageable in comparison, particularly if the project is going to be using significant DOM-modifying JavaScript, or if the layout is not set in stone.