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.
Good luck.