Here's a very common situation. Let's say we have some markup:
<div class="widget">
<div class="widget-item"></div>
</div>
We could style the .widget-item with 2 options:
Option 1: Prefix using a parent class
.widget .widget-item { /* styles */ }
Option 2: Directly access the class
.widget-item { /* styles */ }
Are there any significant performance benefits/hits to the prefix?
If I won't need to reuse the class in another container, say .other .widget-item, is there any real benefit to the prefix? (Most of the time, I won't even need to reuse the class outside of the parent, so there's functionally no difference?)
I find myself using these deep selectors, when maybe I shouldn't?
This guy says you should deeply nest: http://coryschires.com/why-you-should-deeply-nest-your-css-selectors/
This guy says you should keep them simple, unnested: https://github.com/csswizardry/CSS-Guidelines#selectors
Forgive me if this is a duplicate, couldn't seem to find one.