Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (30)

Лучшие ответы пользователя

Все ответы (95)
  • Как по БЭМ написать элемент в блоке с модификатором?

    @ilyarsoftware
    Добавив модификатор к блоку .container--parallax {} можно учитывать его наличие в реализации всех элементов блока .container--parallax .container__title {}.

    ...каскад уместен, чтобы менять элементы в зависимости от состояния блока... Вкладывание элементов в элементы и другие тонкости


    Добавляя модификатор для элемента .container__title--parallax {} мы сужаем область действия модификации только на элемент.

    Как как именно поступать решать вам, это зависит от потребностей, методология не решает подобные вопросы.
    Ответ написан
    Комментировать
  • Какой SQL сертификат можно получить легко для начинающего?

    @ilyarsoftware
    Для начинающего вполне рабочий алгоритм: пройти практики на hackerrank в разделе SQL в результате будет значок в профиле:
    5bcf45d4c1452474875908.png
    Это сертификат по SQL начального уровня. Его можно расшарить по социальным сетям, например в LinkedIn.

    Плюсы: онлайн, бесплатно, авторитетный ресурс (его признают за рубежом и не редко на нем проводят тестовые задания), легко получить первый уровень (одна звезда) хватит базового понимания.
    Минусы: язык интерфейса английский, только практика без теории.
    Антиминусы: автоматический перевод в виде расширения для браузера помогает преодолеть языковой барьер, теорию можно найти, ее много в разных форматах начать можно с этого sql-tutorial.ru/sqlbook/ru.
    Ответ написан
    1 комментарий
  • Смена редактора сообщений коммитов Git под управлением Windows?

    @ilyarsoftware
    Примерно так (консоль Git-bash):
    git config --global core.editor "notepad"
    Подробнее тут stackoverflow.com/a/773973

    Просто открыть файл конфигурации он находится в домашнем каталоге называется: ".gitconfig" отредактировать значение параметра editor в секции core, прописав туда путь нужного редактора.

    Важно учитывать, что могут быть особенности запуска для конкретного редактора.
    Ответ написан
    3 комментария
  • Актуальность префиксов БЭМ l- b- h- g- js-?

    @ilyarsoftware
    Из истории развития БЭМ https://ru.bem.info/methodology/history/
    2005 год... Классам блоков мы добавили префиксы (b-, c-, g-), чтобы отличать их от внутренних классов...

    Настоящие
    Исторически они появились в переходный период для того, чтобы отличать новый код, написаный по БЭМ, от старого. Со временем мы от них отказались.
    https://ru.bem.info/forum/158/ и https://ru.bem.info/forum/806/

    Соглашение по именованию/Имя блока:
    Иногда к именам блоков могут добавляться различные префиксы.


    Если префиксы решают вашу проблему, значит использовать их надо.

    Дополнительно процитирую заметку "Почему CSS-модули не могут заменить БЭМ":
    Часто слышу, как разработчики говорят «БЭМ не нужен, ведь есть CSS-модули». Это не так.

    Корень этого заблуждения кроется в том, что люди воспринимают БЭМ как CSS-методологию. На самом деле БЭМ это набор универсальных принципов, которые можно применять независимо от используемых технологий, будь то CSS, Sass, HTML, JavaScript или React. БЭМ решает множество задач, в число которых входят именование CSS-классов, подход к разделению интерфейса на независимые части и изоляция стилей для этих независимых частей.

    CSS-модули это инструмент, который решает только проблему изоляции стилей. Все остальные проблемы остаются нерешёнными: вам всё ещё нужны какие-то правила для разделения интерфейса на независимые части и всё ещё нужно придумывать названия классов. Поэтому CSS-модули можно и нужно применять вместе с БЭМом.

    Эволюция выглядит так:
    /* Классический БЭМ с длинными именами классов для обеспечения изоляции */
    
    .shop-cart-button {}
    .shop-cart-button_size_small {}
    .shop-cart-button_size_large {}
    
    
    /* CSS-модули с неограниченной свободой творчества в именах классов */
    
    .button {}
    .small {}
    .large {}
    /* или */
    .button {}
    .is-small {}
    .is-large {}
    /* или */
    .button {}
    .size-small {}
    .size-large {}
    
    
    /* БЭМ и CSS-модули */
    
    .button {}
    .button_size_small {}
    .button_size_large {}

    Сразу отвечу на вопрос «а чем плох пример с классами .button, .small и .large?». Он плох тем, что классы .small и .large сами по себе не несут информации о том, к чему они относятся. Нельзя понять, стилизуют ли они отдельный элемент или описывают состояние существующего элемента. Также такие названия классов рано или поздно снова приведут вас к проблеме уникальности имён. Например, вы пишете стили для модального окна. Вам нужно стилизовать полупрозрачный оверлей поверх страницы и само модальное окно. Оба этих элемента могут быть в двух состояниях: виден или скрыт. Кажется, что класс .visible отлично подходит, но проблема в том, что для оверлея и для окна этот класс должен содержать разные стили. Можно придумать костыль в виде селекторов .overlay.visible и .window.visible, но это именно костыль, потому что вы увеличиваете специфичность. С БЭМом всё просто и без ненужного роста специфичности: .overlay_visible и .window_visible.
    Ответ написан
    Комментировать
  • Как правильней сделать в рамках БЭМ?

    @ilyarsoftware
    ...стилизовать немножко иначе...

    Это может означать очень разное, возможные варианты:
    1. положение — определяем во внешнем окружении т.е. сделать стиль блока зависимым от другого блока;
    2. геометрия, цвет и размеры — должно определятся в самом блоке, вариативность реализуется модификатором, но в зависимости от масштаба вариативности и здравого смысла тоже может быть определятся в другого блоке (в случае применения методологии такую специфичность легко отслеживать), если вариативность уникальная, сделать стиль блока зависимым от другого блока;
    3. типографика — сделать стиль блока зависимым от другого блока.

    В общем если вариативность ограничена и требуется в разных местах уместнее реализовывать модификатором.
    Применение миксов уместно на случай, когда надо совмещать реализации и их вариации.

    Дополнительно:


    P.S. Добавьте к вариантам свой случай в комментарии, дополню ответ.
    Ответ написан
    4 комментария