Методология БЭМ верстки. Теория и практический пример

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 36

  • @user-cheps
    @user-cheps 6 лет назад +20

    Пожалуй лучше что я видел на ютубе по БЭМ

  • @Alex-yx2ye
    @Alex-yx2ye 2 года назад

    на 7й минуте все понял, спасибо!

  • @wickedtorpedo75
    @wickedtorpedo75 4 года назад +1

    офигел когда страница не рушится при вставке нового элемента (или блока), вот это уровень - вот это мастерство, все точка! Буду учить БЭМ

  • @masterbiz100
    @masterbiz100 6 лет назад

    Все ясно и доходчиво объяснено. Спасибо за полезную инфу!

  • @StanislavYeshchenko
    @StanislavYeshchenko 5 лет назад

    отличное видео , спасибо!

  • @vazgenaleksanyan2929
    @vazgenaleksanyan2929 6 лет назад +2

    и вообще не стоит задавать классы. и совершенно не важно это бэм или что еще там.

  • @ЕвгенийАнисимов-ч5э

    это полезно если на sass или scss писать, а обычный css замучаешься копировать туда сюда

    • @TheKisPower
      @TheKisPower 5 лет назад +5

      Почему бы тогда не писать на sass или scss? :)

  • @L0list
    @L0list 2 года назад

    Огромное спасибо за видос) Помог разобраться) У меня остался один вопрос, почему ты в стилях дублировал название блока и его элемент, а не просто прописывал стили к элементу? Например .main-content .main-content__left и т.д., во всех стилях у тебя так) Заранее благодарю за ответ

  • @playxr
    @playxr 3 года назад

    здравствуйте,разве правильно писать css в виде .header .header-menu {...} вместо .header-menu , ведь бэм против вложенности и мы увеличиваем вес селектора

  • @oxygensss4390
    @oxygensss4390 4 года назад

    Почему вы где "Главная" использовали модификатор, объясните мне пожалуйста. Немного не понимаю просто

  • @oleksiikonanchyk4564
    @oleksiikonanchyk4564 6 лет назад +2

    В видео от БЭМ только именование стилей. В БЭМ не может быть вложенности в стилях. Делать такую вложенность не удобно, если использовать препроцесоры CSS. Единственное, то что выводится в админке, можно сделать исключение.

  • @Andrew-kx2hz
    @Andrew-kx2hz 6 лет назад +1

    Не нужно слов "должно именоваться", "неверное именование". БЭМ - это методология, главное понятие в которой блок->элемент->модификатор, а как именовать дело каждого. Из доков "Описанные выше правила формирования имен - это классическая схема именования БЭМ-сущностей.", "....Существуют альтернативные схемы именования"

  • @TsA1ex
    @TsA1ex 6 лет назад +9

    О. И еще. Зачем использовать вложенность в Css если мы используем БЭМ? Про первое правило сказал - не использовать тэги в стилях, а про второе забыл - никакого каскада не должно быть

    • @mushnikov35
      @mushnikov35 5 лет назад +3

      тут чтоб 100500 классов не придумывать )) когда освоишь БЭМ, самое сложное будет придумывать классы )) если проект супер большой )

  • @dmytro.dubinin
    @dmytro.dubinin 5 лет назад

    Вопрос. Есть блок ширина которого 100%, внутри обертка .container чтобы позиционировать его по центру страницы с фиксированной шириной:
    lorem
    lorem
    ...
    .content{
    width: 100%;
    background: red;
    }
    .container {
    max-width: 1200px;
    margin: 0;
    padding: 0;
    background: blue;
    }
    Внутренние элементы по сути являются дочерними от content, но фактически от container. Как по БЭМ назвать внутренние элементы .item ? Написать .content__item по бэм будет неверно тк родитель у них .container

  • @TsA1ex
    @TsA1ex 6 лет назад

    Вопрос и замечание.
    Как при таком способе миксования выделять блоки в отдельные файлы шаблоны, например pug. Ведь там присутствует кусок класса блока родителя?
    Элемент у которого класс banner зарежется AD блокером, не советовал бы использовать такие классы: ad, promo. banner и т.п.

  • @0m1x0
    @0m1x0 6 лет назад +1

    Разве модификаторы отделяются не одним нижним подчёркиванием? Например, "имя-блока__имя-элемента_имя-модитификатора"?

    • @HectorSeries
      @HectorSeries 6 лет назад +2

      это одна из разновидностей именования классов - ru.bem.info/methodology/naming-convention/#%D0%A1%D1%82%D0%B8%D0%BB%D1%8C-two-dashes

  • @ЯковЯврач
    @ЯковЯврач 5 лет назад

    а как переносить на внутренную страницу блок.... к чему привязываться?

  • @ihabia
    @ihabia 5 лет назад

    А почему вы модификатор записывает через двойное тире "--" ? когда в официальной документации, модификаторы записываются через одиночное нижнее подчеркивание "_" .... вот сколько ни смотрю видео по БЭМ, все по своему его делаю, такое чувство, что никто до конца не понимает как правильно его применять )) И ещё следуя методологии, не понятно зачем мы оборачивали button в дополнительный блок, если вы говорите, что сам баттон является блоком, тогда получается можно было просто записать: Заказать звонок без всяких лишних оберток. Так ведь?

    • @АндрейБочарников-х5ъ
      @АндрейБочарников-х5ъ 5 лет назад

      в официальной документации есть правила на счет двойного тире, можно и почитать...и если на то пошло, то это БЭМ - это рекомендации, а не правила

  • @vkuznetsov44
    @vkuznetsov44 5 лет назад

    Теперь ясно) а то до этого одна теория и примеры в отрыве от реальности...

  • @cergeysvobodin5453
    @cergeysvobodin5453 6 лет назад

    Интересно, на float(ах) будет работать?

    • @ДенисБулыга-э4т
      @ДенисБулыга-э4т 6 лет назад

      Будет

    • @wickedtorpedo75
      @wickedtorpedo75 4 года назад

      @@ДенисБулыга-э4т не будет, так как у float элементов родитель должен протирать задницу дочерних элементов :after{ clear: both;}, это означает что теперь мы каждому блоку должны задать очистку на псевдокласс after, это еще не всё flaot элементов нельзя центрировать и горизонтально и вертикально, в добавок float элемент не может находится в одной строке если у соседного блока не задан свойства float, ну короче НЕ БУДЕТ РАБОТАТЬ, никак

  • @timurkhudiyev
    @timurkhudiyev 6 лет назад

    Не совсем понимаю честно говоря этих нагромождений лишними знаками. 500 подчеркивай, 300 дефисов. Что бы визуально отличить? Ну и одно подчеркивание на это способно. Не вижу преимуществ модификатора перед банальным .is-active. Модификаторы в основном добавляются ведь посредством JS и добавить .is-active легче чем портянку из .categories__item--active. Легче просто в плане ориентира и запоминания. Ты конкретно знаешь что класс .is-active он переводит элемент в активное состояние и тебе не нужно вспоминать а какая там была длиннющая приставка к этому элементу. А в CSS уже для каждого элемента свой active. Ну короче очень сомнительно как по мне и лишнее это

    • @ДенисБулыга-э4т
      @ДенисБулыга-э4т 6 лет назад

      Каждый сам выбирает стиль, как писать свой код. Я же просто хотел вкратце рассказать о методологии БЭМ.
      Если вам интересно, можете почитать более детально ru.bem.info

    • @timurkhudiyev
      @timurkhudiyev 6 лет назад +2

      @@ДенисБулыга-э4т это понятно. К вам вообще никаких претензий, все очень доступно и доходчиво. Я про саму концепцию написания. Она мне кажется странной

  • @Петр-ч8л
    @Петр-ч8л 6 лет назад

    как и любая договоренность это распространяется только на яндекс и тех кто этим пользуется. Да и не всегда возможно использовать эту методологию. Чем им id'ишники не угодили?

    • @mushnikov35
      @mushnikov35 5 лет назад

      типа id должен быть уникальный и только один