My understanding is that this flags a rule as "important" such that other rules should not override the rule's setting for the element style that matches the selector. The styles rules applied to an element are based on the cascade order of the styles (hence the name Cascading Style Sheets) as well as the granularity of the selector.
For example, if you have this style rule:
TD{
background-color: green;
}
and then you have this rule later in processing (whether it's in another style sheet or the page itself):
TABLE TD{
background-color: red;
}
All your TD elements will have the background color set to red because the selector "TABLE TD" is more defined than just "TD" even though they ultimately refer to the same elements (because TD will always be inside of a TABLE element). CSS doesn't consider the *logic* rules of elements (i.e. TD inside of TABLEs) it just cares about the actual structure. A more defined selector will prevail over a less defined one.
So now we add "!important" to the first rule:
TD{
background-color: green !important;
}
TABLE TD{
background-color: red;
}
Now our TD elements will be green.
-Peter
peterlanoie.blog