我正在使用BEM方法來編寫html + css。有了這個語法:命名BEM子塊
- 塊:block_name
- 元素:block_name__element_name
- 修飾符:block_name__element_name - 修改
我感到困惑時,我有另一個塊內的塊。例如,在標題中,我希望標題是我可以引用的塊,導航和徽標是塊。我想將這些導航和徽標塊引用爲site_header內的塊。但是,我會怎麼寫呢?鏈接塊像block_name__sub_block_name似乎很長。
有沒有人有他們會寫這個例子的典型方式?
<div class="site_header__logo">
<a class="site_header__logo__link">
<img class="site_header__logo__image">
</a>
</div>
<nav class="site_header__main_nav">
<ul>
<li class="site_header__main_nav__item">
<a class="site_header__main_nav__link">Home</a>
</li>
<li class="site_header__main_nav__item">
<a class="site_header__main_nav__link">About Us</a>
</li>
<li class="site_header__main_nav__item">
<a class="site_header__main_nav__link">Contact Us</a>
</li>
</ul>
</nav>
<div class="site_header__phone">
<p class="site_header__phone__number">
555.555.5555
</p>
</div>
.site_header .logo是我正在尋找的。但是,這將如何轉化爲BEM造型?可以使用修飾符,例如.logo - site_header或它自己的名稱.site_header_logo,還是應該像.site_header__logo一樣鏈接? – jeremyhoover
其中三個使用修飾符如'.logo - site_header'。如果可以,請根據修飾符帶來的樣式差異選擇修飾符名稱。 「.site_header_logo」和「.site_header__logo」都暗示緊密耦合,這與BEM塊的獨立性質相反。 – katranci
謝謝!我現在正在更好地掌握BEM。 – jeremyhoover