CSS Specificity

Emma Bostian ✨ on January 21, 2019

CSS Specificity is the set of the rules applied to CSS selectors in order to determine which style is applied to an element. The more specific a CS... [Read Full]
Editor guide

This was a super cool read! Especially the calculation at the end – that was definitely something I knew would work, but never knew why. Thanks for a great explanation.

Also, I love the effort you put into your section headers, etc. The yellow is really lovely, and that attention to visual detail isn't something you see a lot in other blogs :)


Hi, Emma!
Thank you for this great article, it helped me greatly;

Look at the screenshoot, it seems to me it doesn't work properly;

combinator selector > selects li elements that are direct children of an element of that id.

Check this πŸ˜‰



I think you are right. I found that strange too.


Interesting point you make about Bootstrap and !important. I always hate writing !important (when you write !important, a kitten dies), but Bootstrap doesn't leave you much choice sometimes. Great article, very well explained.


Cool article, thanks Emma!

Didn't know there was a formula to calculate specificity nor tools to aid. They might be handy when you're trying to debug :)

You may run into situations when leveraging CSS frameworks, such as Bootstrap, where you can't use CSS specificity to override the native styles. In these instances, using !important is not considered bad practice.

Bootstrap is the main reason we use !important :D Fortunately I see less and less Bootstrap around.


Personally I'm a big fan of Bootstrap 4 grid, since they use flexbox.

But regarding the Bootstrap overrides, don't override it with !important.
Customise it by overriding the sass variables instead of styles for every component. A good example is bootswatch.com.


This is the most succinct article I have ever seen on specificity. I love the use of graphics for calculating specificity. Excellent job!


Quick check ;-)


I think using !important is always ALWAYS a bed practice.
Sometimes you have no other choince but at least try before.


Thanks, Emma. It was so nice to read it.


I posted this in tonight's DevDiscuss on Twitter, but thought it would be helpful to leave this in the comments of your post as well.


Thank you very much for this article!
I knew that β€œCSS specificity” was a thing but I never knew that there was such a (mathematically) simple calculation rule.


Nice work Emma. This is the kind of content i want to see on dev.to. πŸ‘πŸ»


The Star Wars one cracks me up. I saw it again for the first time in a while a couple of weeks ago and was πŸ˜‚.


Great article,

Emma u are a star .


Thanks for showing us how CSS specificity work. You describe it in a very simple way.


Thank you Emma for this resource. I go bad and reread every few months.


This is an awesome read! I found out something new and logical.

Thanks for the effort!


Love it. Great article!


Thanks that was the most clear explanation of CSS specificity I have come through.


I didn't know about specifity in CSS, It was nice to learned it in such a practical and math-fun way, thank you Emma!


The best kind of article! Thank you for the clear explanation!


Those headers are nice. How did you make them?


Thank you for this article, was so great!! I'll start using the four-category system.


I knew about this already, but it's nice to have something to reference anyway, especially when it's this short and sweet.


Thank you for sharing such a wonderful post :)


Really awesome read. I've spent hours before now trying to override styles in WordPress templates (made by other people) and it's been brutal.


Hello Emma !
this is a great article. I was seeking article on specificity like this. I know
what to do now !


Decided to finally look up what the !important value was all about after I came across it now in bootstrap's source CSS, couldn't have been explained easier, thank you.

Code of Conduct Report abuse