Not exactly, it&#x27;s something I&#x27;ve been noticing from my experience with CSS and many teams with many members which were experienced programmers but without any CSS experience.<p>I&#x27;ve shared these ones with my team, however:<p><a href="http:&#x2F;&#x2F;philipwalton.com&#x2F;articles&#x2F;css-architecture&#x2F;" rel="nofollow">http:&#x2F;&#x2F;philipwalton.com&#x2F;articles&#x2F;css-architecture&#x2F;</a><p><a href="http:&#x2F;&#x2F;philipwalton.com&#x2F;articles&#x2F;side-effects-in-css&#x2F;" rel="nofollow">http:&#x2F;&#x2F;philipwalton.com&#x2F;articles&#x2F;side-effects-in-css&#x2F;</a><p><a href="http:&#x2F;&#x2F;philipwalton.com&#x2F;articles&#x2F;extending-styles&#x2F;" rel="nofollow">http:&#x2F;&#x2F;philipwalton.com&#x2F;articles&#x2F;extending-styles&#x2F;</a><p><a href="http:&#x2F;&#x2F;benfrain.com&#x2F;the-ten-commandments-of-sane-style-sheets&#x2F;" rel="nofollow">http:&#x2F;&#x2F;benfrain.com&#x2F;the-ten-commandments-of-sane-style-sheet...</a><p>P.S. A good heuristic I&#x27;d like to point out (and hard-code in any CSS newbie&#x27;s brain) is that if you&#x27;re relying on DOM structure (e.g. styling X if he is a descendant or sibling of Y), then you&#x27;re doing it wrong. Very, very few exceptions to this. Structure (HTML) is a different concern than styling (CSS) and it might change frequently; it should have minimal impact on styling.<p>P.P.S. Another good notion is that CSS is truly like Tetris. Errors do pile up. If you are over-specific when defining a selector, soon you&#x27;ll have to do a even-more-specific one to override it. If you are too confident and define a leaky rule (e.g. all `&lt;p&gt;` elements inside a given widget), soon you&#x27;ll have to create code to override it.