Overview
The CSS !important rule is used to add importance to a property/value to override all styling rules for that specific property on that element.
In the following, we have three rules for styling a paragraph. The browser will normally apply the last rule it finds. However, because the first rule uses an #id, it has more specificity than the second rule which uses a .class and the final rule which just uses the <p> tag. So the browser will apply the first rule and the text will be red.
p#my_paragraph {
color: red;
}
p.my_paragraph {
color: blue;
}
p {
color: green;
}
Note
Because of something called specificity, the styles set for an element’s tag (for instance, p tag), will be overruled by one set for the .class of the element, which will be overruled by one set for the #id of the element.
In the following we have the same three rules, but for the third, with the weakest specificity, we add the !important rule. This means that even though it is the least specific of the rules, the browser will use it because it has “added importance” which gives it precedence over the others.
p#my_paragraph {
color: red;
}
p.my_paragraph {
color: blue;
}
p {
color: green !important;
}
Note
The only way to override an !important rule is to include another !important rule on a declaration with the same or higher specificity. This can be a problem if you overuse the !important rule, as you will find yourself constantly struggling to overcome it at various points in the document.
CSS Notes:
- The “inherit”, “initial” and “unset” keywords can be used with any CSS property to set its value
- In CSS there are many ways to express a color value in a property
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.