我刚开始在我的样式表中使用 BEM 和 SMACCS,但在命名 DOM 中深度嵌套的元素时遇到了一些麻烦。比如说我有一个名为.main-container
. 嵌套在第一层的main-container
是一个额外的 div,按照惯例,它会被命名为.main-container__article
。
<div class="main-container>
<div class="main-container__article></div>
</div>
这就是事情变得混乱的地方。在该文章 div 中,假设我有一个标题,后跟一个具有嵌套跨度标签的段落。我会继续main-container__article
这样预科吗?
<div class="main-container>
<div class="main-container__article>
<h1 class="main-container__article__header">Heading</h1>
<p class="main-container__article__copy">
<span class="main-container__article__copy__intro-text>Example text.</span>
</p>
</div>
</div>
在命名父/子元素时,兔子洞会走多远?有没有一点你在二级元素处重置并从那里开始?
<div class="main-container>
<div class="article>
<h1 class="article__header">Heading</h1>
<p class="article__text">
<span class="article__text__intro-text>This is example text.</span> for a paragraph
</p>
</div>
</div>