Nauka BEM w 5 minut!

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.

nie zobaczysz więcej tej reklamy jeśli do nas wrócisz :-)

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