BEM?块内块?

Joe*_*ine 4 css bem

有点不确定何时在BEM中开始新的上下文.

所有子元素是否应始终引用块元素?

例如

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>bem</title>
    </head>
    <body>
        <div class="header">
            <div class="header__left">
                <!-- Left column content -->
            </div>
            <div class="header__search">
                <!-- Should this be attached to the header? Or a new context <div class="search"> as it can be used elsewhere on the site? -->
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这里的搜索位于'header'div中,但是我们是否真的将它附加到标题中,因为这可以在网站的其他地方使用?

你在街区内有新的街区吗?

干杯

Jon*_*man 12

我的理解是,块重叠没有任何问题,只要用于定位每个块的css是谨慎且独立的.因此,如果样式在其他地方可用,则search样式不应该依赖于header样式.同样,header一旦它失去与孩子的相关性,造型就不需要再进一步下去了.

这样的事情会起作用吗?那有意义吗?

<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8">
      <title>bem</title>
    </head>
    <body>
        <div class="header">
            <div class="header__left">
                <!-- Left column content -->
            </div>
            <div class="header__right">
                <div class="search">
                    <input class="search__input>
                    <button class="search__button>GO!</button>
                </div>
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)