Nauka BEM w 5 minut!

Opublikowano 12.09.2016 9:33 Aktualizacja: 13.05.2018 16:59 - 3


Artykuł ten będzie ekspresowym kursem przydatnego i popularnego w ostatnim czasie BEM'a. Jeżeli właśnie pijesz poranną kawę, to przeczytaj artykuł i naucz się korzystać z metodologii BEM. Czym tak właściwie jest BEM? Jest to określone nazewnictwo klas CSS tak aby były czytelne i zrozumiałe dla każdego pracującego z kodem.

Zaczynajmy

Metodologia BEM czyli Block Element Modifier dzieli komponenty strony na 3 istotne podgrupy zawarte już w samej nazwie.

Block

- Większe elementy mające na celu pełnienie danej funkcji np. header, container, menu, checkbox, input.

Element

- Elementy zawarte w poniższych blokach takie jak przyciski menu, checkboxy. Nazewnictwo: menu item, list item, checkbox caption, header title.

Modifier

- Czyli modyfikatory elementów np. disabled, highlighted, checked, fixed, size big, color green.

Poprawne nazewnictwo

W przypadku stylowania bloku:

[css].menu {}[/css]

Stylowanie elementu:

[css].menu__item {}[/css]

Stylowanie elementu z dodatkowymi atrybutami:

[css].menu__item--green {}[/css]

Stylowanie bloku z dodatkowymi atrybutami:

[css].menu--yellow {}[/css]

Przykład:

[html]
<div class="menu menu--small">

<div class="menu__item menu__item--green">Item</div>

</div>

<div class="menu menu--big">

<div class="menu__item menu__item--yellow">Item2</div>

</div>

[/html]

Powyższy przykład ilustruje dziedziczenie właściwości klasy "menu" w obu przypadkach oraz dodatnia dodatkowych atrybutów za pomocą klasy "menu--small" oraz "menu--big". Dodatkowo elementy menu "menu__item" dziedziczą wspólne atrybuty właśnie dzięki tej klasie oraz posiadają własne za sprawą selektorów klas "menu__item--green" oraz "menu__item--yellow".

Kilka wskazówek na koniec

Do poprawnego stosowania metodologii BEM konieczne jest stosowanie również poniższych instrukcji.
-Unikalna nazwa dla każdego elementu!
-Nie stosujemy selektorów HTML do stylowania takich jak: nav, footer itp.
-Nie używamy kaskadowości np. nav > ul
-Nie używamy selektorów ID.

Pełną dokumentację znajdziecie na oficjalnej stronie BEMa, na którą serdecznie zapraszam.

Autor: Radosław Bogusławski

Wieści z Rozładowani.pl