Board Thread:Support Requests - Designing Your Wiki/@comment-46344595-20201007210156/@comment-9605025-20201007212747

In CSS, conflicting property assignments are resolved by considering the order of the CSS rules and the specificity of their selectors. Using "!important" is used to tell the browser to ignore these standard conflict resolution mechanisms and forcefully apply the specified value. For this reason, it will override any other competing CSS that does not also use "!important". If there are conflicting assignments that both use "!important", then the conflict between them is resolved per the standard mechanisms.

There are only 3 cases in which "!important" is necessary. Inline CSS may also be injected into the page by JS that runs when or after the page is loaded.
 * 1) Overriding inline CSS
 * 2) Overriding CSS that uses "!important"
 * 3) Overriding CSS for which both of the following is true
 * 4) *It is not possible to place new CSS rules below it
 * 5) *It is not possible to have a selector with a higher specificity
 * 6) 3 is highly unlikely to happen and #2 usually happens as a result of people using "!important" when it isn't necessary. So the only common legitimate use for "!important" is when trying to override inline CSS. Inline CSS is CSS that is supplied using the style attribute of an element. For example: