getbem.github.io
getbem.github.io copied to clipboard
Should I add class to every tag I want to style inside block's element?
BEM says "Use class name selector only. No tag name or ids". But If I have complex element with child tags should I add a class for every tag or I can use nested styles with tag names?
<ul class="list">
<li class="list__elem">
<a class="list__elem-link">
<i class="list__elem-icon"></i>Item 1
</a>
</li>
<li class="list__elem">
<a class="list__elem-link">
<i class="list__elem-icon"></i>Item 2
</a>
</li>
</ul>
.list {}
.list__elem {}
.list__elem-link {}
.list__elem-icon {}
OR
<ul class="list">
<li class="list__elem">
<a>
<i></i>Item 1
</a>
</li>
<li class="list__elem">
<a>
<i></i>Item 2
</a>
</li>
</ul>
.list {}
.list__elem {}
.list__elem a {}
.list__elem i {}