Paul said:
What does it mean when you have a stylesheet with !important after one of
the parameters?
Since CSS2, "!important" has only really had any meaning in user (i.e. not
author) style sheets.
Under CSS 1, styles were applied with the following priorities:
1. (Highest
Author's "!important" declarations
2. User's "!important" declarations[1]
3. Author style sheet
4. User style sheet
5. (Lowest
Browser default styles
So if the user set:
body { color: blue !important; }
and the author:
body { color: red; background-color: white; }
Then the browser would set the foreground colour to blue (user's
"!important" declaration) and the background colour to white (author's
style sheet).
That's what the "C" in CSS is all about: Cascading. If a style isn't
specified in the author's "!important" declarations, it "cascades" to the
user's "!important" declarations and then the rest of the author's style
sheet declarations, blah, blah.
This gave CSS an advantage that earlier style sheet languages didn't have:
the ability to work out a compromise between user and author settings.
[1] Under CSS 2 they swapped 1 and 2 around.