• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

HTML code reveiw. Czy dobrze rozumiem metodyke BEM ?

Object Storage Arubacloud
+1 głos
205 wizyt
pytanie zadane 12 maja 2019 w HTML i CSS przez Aleksander Początkujący (360 p.)

Witam,

uczę się pisać strony zgodnie z BEM. Zrobiłem prosty szablon i chciałbym aby ktoś bardziej doświadczony mógł ocenić czy dobrze rozumiem.

Na stronie są 3 bloki section z elementami header i content z odpowiednimi modyfikatorami.

https://codepen.io/anon/pen/rgLqmG

1 odpowiedź

0 głosów
odpowiedź 12 maja 2019 przez rafal.budzis Szeryf (85,260 p.)
wybrane 12 maja 2019 przez Aleksander
 
Najlepsza

Hej jest dosyć dobrze błędy głównie w CSS. Moje zrozumienie BEMa na początku było na o wiele niższym poziomie ;D 

Uwagi : 

1) Selektor do znacznika body i img 

W znaczniku body możesz stworzyć blok całej strony i nazwać go np page. W selektorze body .section__content--gallery img powinieneś zastosować klasę elementu.

 

2) Zagłębienia w SCSS 

Masz stworzone zagłębienia w SCSS przez to twój kod generuje selektory w taki sposób :

body .top__container .top__content

Aby mówić o poprawnym BEM selektor powinien wyglądać tak :

.top__content

Jak to osiągnąć ?  Każdy blok pownien tworzyć strukture od zera np :
 

.page {
    background: #FAFAFA;
    font-family: 'Lato', sans-serif;
    height: 100vh;
}

.top {
    [...]
    background-attachment: fixed;
    &__container{
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 100px;
          
    }

    &__content{
        cursor: pointer;
        margin: auto;
        width: 200px;
        color: white;
        text-align: center;
        font-size: 30px;
    }
}

Zwróć uwagę ze container i content są osobnymi elementami i nie powinny być zależne od siebie. Tak jest łatwiej zapanować nad wagami selektów. 

3) Modyfikator elementu modyfikuje inne elementy tu też wypadało by kod trochę przebudować. Mam na myśli kawałek 

&__content {
    font-size: 20px;
    padding-left: 50px;
    padding-right: 50px;
    &--description{
        display: flex;
        justify-content: space-between;
        .content__text{
            width: 60%;
        }
    }
}

Jest to bardzo złe że modyfikator elementu wpływa na inny element. Łatwiej się pogubić. Jeśli chcesz jednym modyfikatorem zmienić wiele elementów dodaj modyfikator do całego bloku.

.section {
    padding-bottom: 50px;
    margin: auto;
    width: 70%;
    color: black;
    &__header{
        padding: 5px;
        [...]
    }
    &__content{
        font-size: 20px;
        padding-left: 50px;
        padding-right: 50px;
    }

    &--description &__content{
        display: flex;
        justify-content: space-between;
    }

    &--description &__text{
        width: 60%;
    }
}

Pamiętaj żeby zmienić miejsce modyfikatora w HTMLu ;) 

Jeśli chcesz jeszcze poczytać o BEM mogę Cię odesłać do mojego artykuły może coś rozjaśni. https://budzis.pl/Wpisy/Kursy/Optymalizacja-stron/Metodologia-BEM/ Jeśli nie to pytaj ;)

Podobne pytania

+1 głos
0 odpowiedzi 307 wizyt
pytanie zadane 4 grudnia 2016 w HTML i CSS przez Napromieniowany Użytkownik (570 p.)
+1 głos
1 odpowiedź 246 wizyt
pytanie zadane 19 sierpnia 2022 w HTML i CSS przez Hoorder Początkujący (470 p.)
+1 głos
0 odpowiedzi 110 wizyt
pytanie zadane 13 kwietnia 2022 w HTML i CSS przez Hoorder Początkujący (470 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...