Looks like you should read up on the basics of HTML before you get to styling it with CSS.
Number one to know: HTML is for the structure/content/markup, CSS is for the style/look of the page. These two components make up a web page, and they should always be separate (i.e. HTML in the HTML file, CSS in a CSS file) but work together to achieve the desired effect. Effectively this means that presentational HTML attributes (like width, height, align, bgcolor, among others) are to be replaced by CSS.
Also, and most importantly, the HTML you are using just has
to be semantic
in order to get a clean website that works equally in all major browsers. Semantic means that everything has a certain meaning. <h1> is to mark up level 1 headlines, <p> is to mark up paragraphs, <ul> to mark up an unordered list, <div> to mark up a division, and <table> to mark up a table. And a table
is just what it says: A table
to semantically structure and represent tabular data
(e.g. a telephone directory, sports results, stock exchange tables, etc.). This means to create a page layout tables are forbidden
! CSS is there to do that as a layout is counted towards design/style, not structure in terms of semantics.
Look at http://csszengarden.com
thoroughly and learn how one and the same HTML file (consisting only
of semantically marked up text) can be styled in many ways to look completely differently. This is the approach you should take.
Remember: at first structure your content semantically with the correct HTML, and only then, if thatís done you apply CSS (and JS) to enhance the page.