Loading lesson path
Concept visual
Start from A
CSS !important Rule
!important rule is used to give the value of a specific property the highest priority.
!important rule will override ALL previous styling rules for that specific property on that element!
!important keyword is added to the end of a CSS declaration, before the semicolon.
Syntax selector {
property: value !important;
}CSS !important Rule Example In the following example, all three paragraphs will get a yellow background color, even though the inline style, id selector, and the class selector have a higher specificity. The !important rule overrides ALL styling rules for that specific property on that element!
Using the !important rule: <html> <head> <style>
p {Formula
background - color: yellow!important;
}
#myid {
background-color: blue;
}.myclass {
background-color: gray;
}</style> </head> <body>
<p style="background-color:orange;">This is a paragraph.</p>
<p class="myclass">This is a paragraph.</p>
<p id="myid">This is a paragraph.</p></body> </html> Use !important Sparingly
!important rule is to include another
Formula
!important rule on a declaration with the same (or higher) specificity in the source code - and here the problem starts!The CSS code will be confusing and the debugging will be hard! Especially if you have a large style sheet! In the following example, it is not very clear which color is considered most important:
Example p {
background-color: red !important;
}
#myid {
background-color: blue !important;
}.myclass {
background-color: gray !important;
}A Few Fair Uses of !important
!important rule can be useful in some cases, like:
!important to turn off, or tone down animations and transitions for the users who has activated this setting on their computer:
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}You will learn more about media queries in a later chapter.
Style link buttons with a gray background color, white text, and some padding and border:
a.button {
background-color: #8c8c8c;
color: white;
padding: 5px;
border: 1px solid black;Formula
text - decoration:none;
}Now, if we put a link button inside another element with higher specificity, the properties might get in conflict. Here is an example of this:
Example a.button {
background-color: #8c8c8c;
color: white;
padding: 5px;
border: 1px solid black;Formula
text - decoration:none;
}
#myDiv a {
color: red;
background-color: yellow;
}
To "force" all buttons to have the same look, no matter what, we can add the!important rule to the properties of the button, like this:
Example a.button {
background-color: #8c8c8c !important;color: white
!important;
padding: 5px !important;
border: 1px solid black !important;
text-decoration: none !important;
}
#myDiv a {
color: red;
background-color: yellow;
}