Question: I am currently working on my first website. I have no idea where to start on the CSS page, or if there are any standards that I should be following.

I would appreciate any links or first-hand advise.

Answer: 
Resist the urge to over-specify class or id names. Use contextual or descendent selectors. This let's you easily define styles for areas of your page, but save on the sanity of having to manage and remember tons of names. For example:

```
<ul id="nav">
   <li class="navItem"><span class="itemText">Nav Item</span></li>
   <li class="navItem"><span class="itemText">Nav Item</span></li>
</ul>

#nav { }
#nav .navItem { }
#nav .itemText { }

```

This is needlessly complex, and you'll find yourself quickly running out of good semantic descriptions. You'd be better off with something like:

```
<ul id="nav">
  <li><span>Nav Item</span></li>
  <li><span>Nav Item</span></li>
</ul>

#nav {}
#nav li {}
#nav li span {}

```
My first tip would be to always use only external style sheets - try to avoid inline or header styles.

Use classes and ids as much as possible.

I second the suggestion for [A List Apart](http://www.alistapart.com/)

Although not very pretty, and sometimes a little old, [HTML Help by WDG](http://htmlhelp.com/reference/css/style-html.html) has some good references.

[Quirksmode.org](http://www.quirksmode.org/css/contents.html) has a great css compatibility table.