bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/CSS/CSS Foundations
CSS•CSS Foundations

CSS The !important Rule

CSS !important Rule

The !important rule is used to give the value of a specific property the highest priority.

The !important rule will override ALL previous styling rules for that specific property on that element!

The !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!

Example

Formatted code
  <html>
<head>
<style>
p {
  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>

Live preview

Use !important Sparingly

The only way to override an !important rule is to include another !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

Formatted code
p {
  background-color: red !important;
}
#myid {
  background-color: blue !important;
} .myclass {
background-color: gray !important;
}

Live preview

A Few Fair Uses of !important

The !important rule can be useful in some cases, like:

  1. To override a style that cannot be overridden in any other way. This could be if you are working in a Content Management System (CMS) and cannot edit the CSS code. Then you can set some custom styles to override some of the CMS styles.
  1. To respect user preferences. Some users have motion sensitivity and prefer websites with less animation. CSS has a @media feature called prefers-reduced-motion that lets you check if a user has asked to reduce motion, such as animations or transitions. You can use !important to turn off, or tone down animations and transitions for the users who has activated this setting on their computer:

Example

Formatted code
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

Live preview

You will learn more about media queries in a later chapter.

  1. To create a highly specific, unchangeable style for a specific element. Assume we want a special look for all link buttons on a page:

Example

Formatted code
a.button {
  background-color: #8c8c8c;
  color: white;
  padding: 5px;
  border: 1px solid black;
  text-decoration: none;
}

Live preview

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

Formatted code
a.button {
  background-color: #8c8c8c;
  color: white;
  padding: 5px;
  border: 1px solid black;
  text-decoration: none;
}
#myDiv a {
  color: red;
  background-color: yellow;
}

Live preview

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

Formatted code
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;
}

Live preview

Previous

CSS Specificity Hierarchy

Next

CSS Math Functions

This chapter

Overview
108

Lessons

263m

Read time

1. CSS Tutorial2. CSS Introduction3. CSS Syntax4. CSS Selectors5. CSS Grouping Selectors6. How To Add CSS7. How To Add Internal CSS8. How To Add Inline CSS9. Multiple Style Sheets & Cascading Order10. CSS Comments11. CSS Errors12. CSS Colors13. CSS RGB Colors14. CSS HEX Colors15. CSS HSL Colors16. CSS Backgrounds17. CSS Background Image18. CSS Background Image Repeat19. CSS Background Attachment20. CSS Background Shorthand21. CSS Borders22. CSS Border Width23. CSS Border Color24. CSS Shorthand Border Property25. CSS Rounded Borders26. CSS Margins27. CSS Margin Collapse28. CSS Padding29. CSS Padding and box-sizing30. CSS Height and Width31. CSS Min/Max Height and Width32. CSS Box Model33. CSS Outline34. CSS Outline Width35. CSS Outline Color36. CSS Outline Shorthand37. CSS Outline Offset38. CSS Text Color39. CSS Text Alignment40. CSS Text Decoration41. CSS Text Decoration Styles42. CSS Text Transformation43. CSS Text Spacing44. CSS Text Shadow45. CSS Web Safe Fonts46. CSS Font Fallbacks47. CSS Font Style48. CSS Font Size49. CSS Google Fonts50. CSS Great Font Pairings51. CSS Font Property52. CSS Icons - Font Awesome53. CSS Icons - Bootstrap54. CSS Icons - Google55. CSS Links56. CSS Link Buttons57. CSS Lists58. CSS Tables59. CSS Table Size (Width and Height)60. CSS Table Alignment61. CSS Table Styling62. CSS Responsive Tables63. CSS The display Property64. CSS Hide Elements65. CSS The max-width Property66. CSS The position Property67. CSS Fixed and Absolute Positioning68. CSS Sticky Positioning69. CSS Position Offsets70. CSS The z-index Property71. CSS The overflow Property72. CSS overflow-x and overflow-y73. CSS Float74. CSS clear and Clearfix Hack75. CSS display: inline-block76. CSS Center Align77. CSS Horizontal Align78. CSS Vertical Align79. CSS Combinators80. CSS Pseudo-classes81. CSS Interactive Pseudo-classes82. CSS Structural Pseudo-classes83. CSS Pseudo-elements84. CSS Pseudo-elements for Text85. CSS Pseudo-elements for Content86. CSS Opacity87. CSS Navigation Bars88. CSS Vertical Navigation Bar89. CSS Horizontal Navigation Bar90. CSS Dropdowns91. CSS Advanced Dropdowns92. CSS Image Gallery93. CSS Image Sprites94. CSS Attribute Selectors95. CSS Advanced Attribute Selectors96. CSS Forms97. CSS Form Inputs98. CSS Form Focus and Icons99. CSS Form Elements100. CSS Counters101. CSS Units102. CSS Absolute Units103. CSS Relative Units104. CSS Inheritance105. CSS Specificity106. CSS Specificity Hierarchy107. CSS The !important Rule108. CSS Math Functions

On this page

CSS !important RuleCSS !important Rule ExampleUse !important SparinglyA Few Fair Uses of !important