Wpis z mikrobloga

Przyklad kodu HTML z uzyciem notacji BEM. Widac jak powtarzanie blokow zasmieca notacje. Uzycie samych tabulatorow \ spacji wystarczy zeby zagniezdzenia byly czytelne. Niestety nie zawsze mozna zrezygnowac z BEM. Ale dzieki separacji w #angular mozna. W Angularze nie kopiuje sie kodu SCSS. Jak juz to cale komponenty. Wiec czy BEM ma sens skoro zasmieca kod? Co myslicie? #css #webdev #programowanie
tomaszs - Przyklad kodu HTML z uzyciem notacji BEM. Widac jak powtarzanie blokow zasm...

źródło: comment_1588024222PBG7kohj3wBSWkxBUxQcjp.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

List_item_white? To jest bee a nie bem. bem jest wygodny w developmencie a co z nim na produkcji zrobisz to inna sprawa. Uglify itp
  • Odpowiedz
@tomaszs: BEM może nie wygląda za ładnie, ale nie zaśmieca kodu, jeżeli wszystko jest semantycznie opisane. BTW list__item__white to nie jest poprawny BEM. Teraz robi się moda na podejście utility first, wykorzystuje je między innymi tailwind.css
  • Odpowiedz
@tomaszs: robienie klas typu item-white, button-green czy button-large to dla mnie naruszenie SoC.

html powinien opisywać strukturę, CSS nadawać wygląd. Klasy powinny opisywać CZYM JEST dana rzecz, a nie jak ma wyglądać.

Zamiast klasy button-green, która de facto służy do sterowania wyglądem z HTMLa, powinno być np show-item-button i w CSSie sobie ustalamy jak chcemy – zielony, żółty czy różowy. Jak chcemy zmienić kolor, HTML nie powinien się
  • Odpowiedz
@MacDada: bardzo sluszna uwaga! niestety tak to jest jak sie bierze przyklady z internetu. Ale z drugiej strony, gdyby nie on, to by nie wybrzmiała tutaj ta wazna uwaga. dzieki
  • Odpowiedz
@tomaszs: to że tworzysz komponenty nie sprawia że Bem jest niepotrzebny. Przydaje się no podczas budowania widoków. Chodzi o to że budujesz widok z wielu komponentów i nadajesz im przez Bema kontekst. Czyli dajesz komponentowi Button w widoku home klasę home__button i mimo że komponent Button ma jakieś style wewnątrz komponentu, możesz nimi manipulować np dodając padding który w tym kontekście jest potrzebny.
  • Odpowiedz