Validate
Use a valid doctype and validate your markup and styles.
This will help you find out if something as simple as a typo or an unclosed element is causing the problem.
Test in other browsers
Browsers have different base styles and varying support for CSS properties. Knowing in which browsers the problem occurs, make it easier to find a solution. Your problem may be a browser not implementing a CSS property.
Inspect
Most modern browsers come with or provide for install a developer toolbar that allows you to inspect elements on the page and manipulate CSS values. Use this to see if values you expect to be applied are getting overridden elsewhere. If JavaScript may be affecting the element, check the console log for errors.
Divide and conquer
Make a copy of the page and related files then strip the markup back to bare minimum that still show the problem.
The main concept of divide and conquer is to take out half the styles and see which half was causing the problem, then keep halving the problem. A bit like the game where your goal is to find a number when you can only ask if it is higher or lower. Halving the search area each time is much quicker then randomly picking a number, unless you get lucky.
If you have multiple stylesheets, comment half of them out to determine which stylesheet is causing the problem. To comment out a link to a stylesheet in your html start with <!--
and end it with -->
like this:
<!-- link type="text/css" rel="stylesheet" media="all" href="/files/css/mystyles.css" / -->
Once you know the stylesheet use the same method to halve the rules until you get to the problem area. To comment out a section of a stylesheet use
/*
before the rules and */
after.So you can comment out a rule or multiple rules like:
/*
.myclass{
background:red;
margin:0;
}
*/
or comment out a specific declaration like:
.myclass{ background:red; /* margin:0; */ }
You need to reload the page with each change and ensure cache isn't playing tricks on you.
Ask for help
If you have got to this stage and haven't worked out what's causing the problem then post it to the CSS Forum. Read the topics on how to post, provide what you can to make it easy for someone to help and link to your working copy page from above.