0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BEMとは

Posted at

image.png
1:BEMとは
 Block、Element、Modiferの略語です。webサイトのコンポーネント化のためのフロントエンド設計方法の一つです。

2:BEMを構成する3つの要素
 BEMは、Block、Element、Modifierという3つの概念だけ理解してしまえば、あとはclass名の命名ルールに則って記述していきます。

 Blockとは
 Webページは、ヘッダー、ナビゲーション、商品説明、フッターなどといった、パーツの集まりで構成されています。BEMでは、これらのパーツをBlockと呼びます。

 Elementとは
 Blockの構成要素で、そのElementが属するBlock内でのみ意味します。
image.png
 Modifier(モディファイア)とは
 見た目や動きが少しだけ違うものを作りたい場合には、新規にそれらを作るのではなく、Modifierを使うことができます。

 例えば、同じリストで、行頭記号が2種類以上存在する場合や、同じメニュー内の「タブ」であっても、現在ユーザーがいるタブだけ、見栄えを変える場合などです。

3:class名の命名ルール
 クラス名の中に__というように、アンダースコアを二重に使っており、この__や、_、-は、単語と単語を区切るために使用していて、BEMではこれをセパレーターと呼んでいます。BEMでは、誰が見てもわかるように、Block、Element、Modifierそれぞれの区切りに、一貫したセパレーターを使うことが重要とされます。

4:セパレーターの種類
①BlockとElementとの区切り。
②Block(あるいはElement)とModifierとの区切りと、Modifierのkeyとvalueの区切り。
③BlockやElement名を、2つ以上の単語で表す場合の単語と単語との区切り。
 大切なのは、クラス名を見たときに、セパレーターの種類によって、それがBlockとElementの区切りなのか、Modifierの区切りなのか、それともただの単語の区切りなのかが、はっきり判別できるようにすることです。

5:BEMのメリット
①HTMLとCSSは、いつでもデザインの変化に対応できる。
②プログラマーとフロントエンドエンジニアは、お互いのコードに貢献し合える。
③共通言語でやりとりできるため、コミュニケーションが図りやすい。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?