• Как не обрезать тень элемента, используя "overflow: hidden"?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Задача со звёздочкой, факт. В целом поддержу оратора — Сергей delphinpro. Добавлю, что неплохо бы после сделать отрицательный отступ, чтобы не было нерегулируемого смещения остальными блоками. Плюс можно поиграться с «разгоном» элементов следующего и предыдущего слайда, чтобы задать им пространство в рамках «ушей», чтобы тень не выплывала обрезанной.
    Ответ написан
    Комментировать
  • Как лучше сделать?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Решения:
    1. Грубо и тупо — сохранить идентификатор блоков, соотнести с навигацией и при клике по навигации врубать display:none всем, кроме активного.
    2. Разбить информацию логически (контент) и отрисовывать тогда, когда выбран пункт навигации (createEleemnt и т.д.)
    3. Актуальный — пункт два в реализации на каком-нибудь фреймворке или библиотеке (React, Vue).
    Ответ написан
  • Как поместить логотип под кнопку в Html?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега HTML
    Руководитель frontend направления, предприниматель
    1. Использовать фон.
    2. Абсолютное позиционирование.
    3. Использовать отрицательные отступы.
    Ответ написан
    Комментировать
  • Не применяется css свойство от @media, что делать?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    В инспекторе кода данные свойства перечёркнуты.


    Если свойства перечеркнуты, значит другие, которые его перебивают, не перечеркнуты. Посмотри в инспекторе, какие именно свойства перекрывают эти, там будет указан селектор.

    Если можешь, переделай логику специфичности\каскадности. В первом случае может быть другое правило, которое важнее, или ниже по коду идти такое же правило с другими свойствами.
    Ответ написан
    4 комментария
  • Как сверстать speech bubble?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Дешево и сердито — див с фоном + псевдоэлемент, который тоже имеет фон, наехать им с помощью позиционирования на сам див. Тут я бы обошелся без бордеров, т.к. стрелку тогда надо филигранно позиционировать.

    Компонент здорового человека — SVG.
    Ответ написан
    Комментировать
  • Компонент теряет scrollY после ререндера?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Это не базовое поведение, ищи функцию в руте или миддлваре, которая это реализует.
    Ответ написан
    Комментировать
  • Как исправить ошибку "Cannot read properties of undefined"?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Задай параметры функции (неплохо бы ещё прикрутить TS к проекту), если актуально, задай базовые значения или тернарники на присваивание.
    Ответ написан
    Комментировать
  • Как это сверстать?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Используй гриды для общей сетки макета, они позволят распределить контент по местам, и их же, гриды можно использовать для распределения блоков, основное удобство, которое они предоставят — свойство gap, которое даст управляемый зазор между карточками.
    Ответ написан
    Комментировать
  • Как получить доступ к созданным элементам?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Можно вешать слушатель прямо на создаваемый узел, или пойти в сторону погружения событий.
    Ответ написан
    Комментировать
  • Как защитить роуты?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Проще воспользоваться гуглом и найти рецепт роута. Его суть заключается в оборачивании всех роутов в функцию, которая проверяет либо авторизацию, либо принадлежность к роли. Это то, что по сути уже есть, но не хватает из классического рецепта редиректа, если доступа нет и пути, который охватывает все, что не входит в перечисленные, обозначается он символм «*».
    Ответ написан
  • Как сделать, чтобы меню не закрывалось при наведении на другую часть экрана?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    CSS предполагает наличие контекста наведения, наводишь на элемент и можешь управлять состоянием его дочерних элементов. Если ты увел курсор с родительского компонента, то потерял контекст и правило стилей работать не будет. Чтобы решить проблему, используй JS и управляй состоянием без контекста привязки, вешая состояние на переменные.
    Ответ написан
    Комментировать
  • Как сделать, чтобы цифры вводились по пробелу?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Дешево и сердито — сохраняй значения в переменную, например строку, без пробелов (можно использовать скрытый input), а показывай в стилизованном label по шаблону, подойдут регулярки, да и вывод строки массивом (посимвольно) тоже сойдет. Останется только решить проблему выделения и удаления. В последнем случае могут помочь JS-фреймворки, которые из коробки оперируют динамическими данными.
    Ответ написан
    Комментировать
  • Как получать динамически высоту блока в vue?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Вешай слушатель на условия изменения блока, например ресайз окна и не забывай удалять его при размонтировании компонента. Если события происходят часто и неконтролируемо, то запускать можно с использованием дебоунсера.
    Ответ написан
    Комментировать
  • Как будет правильно по правилам БЭМ использовать повторяющийся элемент?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Если лого имеет какую-то стилевую нагрузку, например это svg, который управляется по цветовой схеме и т.д., т.е. это действительно самостоятельный блок, а не картинка в теле другого блока, то такие вопросы решаются как раз миксом.

    Блок логотипа описывает поведение исключительно логотипа, а класс-элемент родителя, в котором он находится задает отступы и вполне может регулировать размеры блока. В свою очередь поведение логотипа в разных размерах должно быть описано, хотя бы max-width: 100% для изображения.

    Модификаторы в этом случае не нужны, их оптимальнее использовать для других случаев, например покрас того же svg в черный или белые цвета, чтобы на фоне родительского блока выглядело контрастно.
    Ответ написан
    Комментировать
  • Как задать градиент кнопкам bootstrap?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    background: linear/radial/и т.д.-gradient.
    Ответ написан
    Комментировать
  • Как выводить контент согласно active class?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Обычно такое реализуют в рамках маршрутизации либо бэком, либо на JS, в идеале на фреймворке.

    Чтобы получить возможность во вьюхе менять контент можно использовать гриды, для обеспечения плоской структуры, будет проще управлять данными в любом исполнении, от шаблонизатора под бэком, так и на чистом JS.

    Используя ванильку (JS) можно передать в data-атрибутах ID-шники блоков, которые должны появляться снизу и справа от сайдбара и активировать их, скрывая остальные, во время нажатия. Но это на уровне костыльного решения, табуляция выглядит и реализуется проще.

    Чтобы имитировать навигацию, т.е. чтобы можно было передать кому-то URL на конкретный таб, ты можешь использовать ссылочные якоря, опираясь на которые (разбирая ссылку, историю) открывать тот или иной контент впридачу к описанному мной выше.
    Ответ написан
    1 комментарий
  • Почему Sticky top в Bootstrap не прилипает к шапке?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Дело не в бутстрапе, там перечислены те же свойства, если описывать прилипающий контент вручную. А ломает эту логику overflow-ы. Ищи, где в родителях обрезка видимости.
    Ответ написан
    1 комментарий
  • Как правильно и без костылей сделать адаптивную страницу 404?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Если тело страницы содержит разметку, например, шапки сайта, подвала и т.д., то эта информация должна быть и в стилях. А вообще обычно это простейшая страница, стили которой можно разместить прямо в теле, их не должно быть много.

    Если используется в маркетинговых целях, например «Вы попали не туда, но вот смотрите есть товары, которые могут вас заинтересовать», то есть смысл делать его как визуально в структуре сайта, так и через ЧПУ, который выдает страницу, как исключение из урлов.

    Если же убрать все эти тонкости, то задача страницы — отдать ответ 404 в запросе. Это тупик и никакой лишней информации и стилизации он не требует.
    Ответ написан
    5 комментариев
  • Как реализовать слайдер?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Чтобы элементы всегда были по обе стороны, их можно банально переставлять\клонировать и крутить. Дальше уже вопрос позиционирования. Так делают в принципе все карусели.
    Ответ написан
    Комментировать
  • Почему не применяются результаты редактирования css в wordpress?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Кроме кеша браузера, есть и кеш скриптов и стилей, не помню, есть ли инструмент их обновления отдельной кнопкой в WP, но как минимум можно поискать. VS-Code это не единственный инструмент разработки, точно таким же образом ты можешь влезть непосредственно в файловую систему проекта прямо на хостинге, если у тебя обычный хостинг, в котором есть окружение с админкой.
    Ответ написан
    Комментировать