LoginSignup
1
1

More than 3 years have passed since last update.

BEMについて学んだことまとめ

Last updated at Posted at 2019-12-07

目次

  1. BEMとは
  2. BEMの使い方

今回の学習のゴール

  • BEMとは何か、何ができるかを知る
  • 実際の使い方について知る

1. BEMとは

  • Block, Element, Modifierの略語
  • 命名規則の1つで、有名なCSS設計思想である
  • モジュラーでメンテナンス可能なコードを書くことができるため、再利用性を容易にする
    • 規格化された部品(モジュール)を組み合わせて機能を連結させたものをモジュラーという
  • CSSセレクタをBlock, Element, Modifierの3つに分けて定義する
    • block
      • UIパーツの塊で再利用できるもの(コンポーネント)
      • Blockの名前はユニークにしパーツごとの独立性を保つようにする
      • ex. card
    • Element
      • Blockの中にのみ存在できる構成要素
      • blockとelementは2つのアンダーバーで繋ぐ
      • ex. card__title
    • Modifier
      • BlockやElementを修飾したい場合に使用し、バージョンの違いや一時的な状態などを示す
      • 違いが少ないBlockやElementを再利用するために用いる
      • card__title--primary
  • block__element–modifierがクラス名の基本構造
<div class="block block--modifier">    <!-- modifierはblockにもelementにもつけることができる -->
  <span class="block__element block__element--modifier"></span>
</div>

2. BEMの使い方

html
<div class="posts">
  <ul>
    <li class="posts__item"> 投稿1 </li>
    <li class="posts__item posts__item--active"> 投稿2 </li>    <!-- modifierがあるクラス名とないクラス名を両方記述する -->
    <li class="posts__item"> 投稿3 </li>
  <ul>
<div>
scss
.posts {
  /* postsのCSSを記述 */
  &__item {
    /* posts__itemのCSSを記述 */
    &--active {
      /* posts__item--activeのCSSを記述 */
    }
  }
}

参照

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1