I'm trying to express a simple CSS3 selector in BEM:
CSS
.block__elem {
/* ELEM RULES */
}
.block__subelem {
/* SUBELEM RULES */
}
.block__elem:not(:last-child) .block__subelem {
/* HOW CAN I EXPRESS THIS? */
}
HTML
<div class="block__elem">
<div class="block__subelem">CONTENT</div>
<div class="block__subelem2">OTHER CONTENT</div>
</div>
<div class="block__elem">
<div class="block__subelem">CONTENT</div>
<div class="block__subelem2">OTHER CONTENT</div>
</div>
<div class="block__elem">
<div class="block__subelem">THIS SHOULD HAVE A SLIGHTLY DIFFERENT STYLE</div>
<div class="block__subelem2">OTHER CONTENT</div>
</div>
How can I express the last selector in BEM terms?
The only way I can think of is to add a modifier
.block__subelem--not-last-child {
}
And then add the logic to the HTML from behind, but for me that's just wrong, it adds complexity server-side and it's error prone.