getbem.github.io icon indicating copy to clipboard operation
getbem.github.io copied to clipboard

Should I add class to every tag I want to style inside block's element?

Open ternavsky opened this issue 8 years ago • 0 comments

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 {}

ternavsky avatar Apr 17 '17 12:04 ternavsky