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

BEM - selektor potomka dla klas BEMowych

Cloud VPS
0 głosów
191 wizyt
pytanie zadane 14 grudnia 2019 w HTML i CSS przez michh123 Bywalec (2,790 p.)

Cześć.

Czy stosując metodologię BEM możemy używać selektorów potomka w CSS dla klas? Konkretnie chodzi mi o:

.block__element--modifier .blok {
    /*style CSS*/
}

W dokumentacji nie znalazłem informacji na ten temat, a chcę ostylować nawigację dla urządzeń mobilnych, otwieraną za pomocą przycisku-hamburgera. Po naciśnięciu przycisku zostanie otwarte menu. Wymyśliłem coś takiego (kod dla ułatwienia jest bardzo uproszczony):

<nav class="navigation navigation--opened">
    <ul class="navigation__list">
        <li class="navigation__item">
            <a class="navigation__link" href="#">Link 1</a>
        </li>
        <li class="navigation__item">
            <a class="navigation__link" href="#">Link 2</a>
        </li>
        <li class="navigation__item">
            <a class="navigation__link" href="#">Link 3</a>
        </li>
        <li class="navigation__item">
            <a class="navigation__link" href="#">Link 4</a>
        </li>
    </ul>
    <button type="button" class="hamburger">
        <img src="obrazek.png" alt="Przycisk otwarcia menu" class="hamburger__icon hamburger__icon--opened">
        <img src="obrazek.png" alt="Przycisk zamknięcia menu" class="hamburger__icon hamburger__icon--closed">
    </button>
</nav>

modyfikator navigation--opened jest dodawany przez JS kiedy użytkownik otworzy menu za pomocą przycisku. Wtedy chciałbym wystylizować potrzebne komponenty w CSS (tak, aby menu było widoczne):

.navigation--opened .navigation__list {
    /*style CSS*/
}

.navigation--opened .navigation__item {
    /*style CSS*/
}

.navigation--opened .navigation__link {
    /*style CSS*/
}

/*itd...*/

Czy w BEM poprawne jest ustawianie selektora potomka i w dodatku tak, że przodkiem jest modyfikator, a potomkiem blok lub element, jak wyżej? Czy takie podejście jest / może być zgodnie z metodologią BEM? 

Z góry dziękuję za pomoc!

1 odpowiedź

0 głosów
odpowiedź 21 grudnia 2019 przez pirouetti Mądrala (6,490 p.)
Ta metodologia jest stworzona dla łatwiejszego ogarnięcia kodów.

Jeżeli to tylko dla ciebie, nie ma najmniejszego powodu się zastanawiać czy jest to poprawne czy nie, byle tobie się łatwo było odnaleźć w tych kodach.

Podobne pytania

0 głosów
2 odpowiedzi 331 wizyt
pytanie zadane 27 maja 2019 w HTML i CSS przez Apper97 Obywatel (1,380 p.)
+1 głos
1 odpowiedź 403 wizyt
pytanie zadane 17 listopada 2017 w HTML i CSS przez cyberDEV Użytkownik (780 p.)
+1 głos
1 odpowiedź 241 wizyt
pytanie zadane 14 sierpnia 2021 w HTML i CSS przez kajman_Rrzeczny Użytkownik (960 p.)

93,456 zapytań

142,451 odpowiedzi

322,721 komentarzy

62,837 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

Kursy INF.02 i INF.03
...