2 ms·
Whoa, that's weird. So once there is `!important`, the order of precedence flips? I'm sure there was a good reason for that...
by stevage 3y ago
Whoa, that's weird. So once there is `!important`, the order of precedence flips? I'm sure there was a good reason for that...
- matheusmoreira 3y agoI believe the reason is to allow users to override websites.
- Macha 3y agoYour OS had a dark theme, that gets represented in the browser as a not !important user style. The website should be able to override this to avoid the white text on white background problem. But then if the user is tweaking a specific site, the user should be able to override anything with ! important if they really mean it.
- stevage 3y agoYeah, I understand that in general. But what's curious is that normally it goes browser < user < author, but with !important, it flips so that browser > user > author. Specifically the part where the browser now outranks the user style is interesting.
- myfonj 3y agoThese are (presumably) for things that even user styles are not supposed to be able to "break". Sifting through https://meiert.com/en/blog/user-agent-style-sheets/ https://meiert.com/en/blog/user-agent-style-sheets/ shows quite reasonable things such as @media (scripting) { noscript { display: none !important; } } optgroup { float: none !important; position: static !important; white-space: nowrap !important; word-wrap: normal !important; } in the Firefox UA styles (though I'd permit overriding the former and I'd expect shadow DOM to handle the latter), or input[type="password" i] { -webkit-text-security: disc !important; } in the Chrome UA style.