• Почему github pages не видит шрифты, подключаемые через @font-face?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В чем может быть проблема?

    В том, что названия файлов у вас с большой буквы начинаются, а в CSS вы их пишете с маленькой.
    Ответ написан
    Комментировать
  • Помощь с code review вёрстки?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Думаю в этом мини-проекте вам уже не нужно все переделывать, но в перспективе обращайте внимание на:

    Файлы:
    - Если вы собираете зависимости в бандл - не храните их исходники в репозитоии. Они там не нужны. В репозитории храните только package-lock.json, чтобы можно было скачать нужные версии всего.
    - Все конфиги, связанные со сборкой, должны быть в репозитории.
    - Было бы круто разнести исходники и результат сборки. Условно в папки src и dist или build или еще как-нибудь назовите. Будет удобнее.

    Скрипты (логику проверять лениво, так что только по внешнему виду):
    - Много всего в одном файле. Делите на небольшие модули, будет удобнее.
    - Все очень разное. Кавычки, табы и пробелы, даже if-else вы пишете все время по-разному. Используйте какой-нибудь один стиль написания кода. Для начала можно взять от airbnb - он довольно популярный.

    Стили (все не смотрел, говорю по паре файлов):
    - Вижу мешанину из CSS-методологий. Вроде БЭМ, но местами какая-то дичь начинается. Вроде этого: "main-banner__title text-accent text-cormorant-bold d-block wow fadeInUp".
    - Постоянное использование px-to-rem с разными параметрами вперемешку с просто пикселями требует слишком много внимания к себе. Оно там правда нужно?
    - Для префиксов есть автопрефиксер. Не тратьте время на них.
    - Для импорта анимаций из animate.css есть postcss-animation. Снова, не тратьте время.
    - Если используете переменные для цветов, не мешайте их с захардкоденными значениями rgba и hex.
    - Магические числа вроде calc(100% - 427px) лучше не использовать, либо комментировать.
    - Вставляйте critical CSS в страницы.
    Ответ написан
    7 комментариев
  • Как реализовать верстку с обтеканием?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    1. Расположить элементы так, как на картинке, проще всего заданием width, float и clear для них. И это логично, флоаты как раз предназначены для всевозможных обтеканий.
    2. Чтобы отступы между картинкой и текстом не скакали, была ровная сеточка, а строки в разных блоках совпадали по вертикали, имеет смысл жестко привязать ее (картинки) высоту к EM/REM. Вообще удобно все к этим единицам привязывать, но это уже другая история.
    3. Исходя из пункта 2, нужно добавить media-выражения для картинки на разные размеры экрана. Да, это лишняя работа. Да, это не чик-чик и в продакшен, но если важны мелочи в дизайне - делаем.
    4. На маленьких экранах все это будет плохо восприниматься, так что выстраиваем элементы в столбик. Ширина в 100% всему. По уму контент важнее, чем aside, так что меняем их порядок с помощью свойств flex, flex-direction и order.

    Получится что-то такое:

    Ответ написан
    1 комментарий
  • Не могу сделать макет. Поможете?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    там идут на фоне разные тона голубого цвета. Эти тона: картинки

    Было бы логично их делать линейными градиентами, а не картинками.

    Она заключается в том, что когда я подвожу картинку близко к краю (в данном случае правому краю) у меня расширяется экран. Т.е. снизу появляется некий регулятор ширины

    Если все же идти по этому пути, то либо используйте overflow: hidden, либо свойство background вместо отдельных картинок.

    Ещё один вопрос: как сделать эту штуку?

    А что с ней? Border-radius, position: absolute, background, color... Приводите пример того, что вы сами сделали и задавайте конкретный вопрос, а то в таком виде можно только ответить, что нужно "взять и сверстать".
    Ответ написан
    Комментировать
  • Как уменьшить размер шрифта при уменьшении размера окна?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Видимо вам нужно привязать размер шрифта у элемента html (он же :root в нашем контексте) к единицам vw и сделать из этого шлюз. Есть хорошая статья по теме. А уже потом использовать единицы rem в компонентах. Таким образом вслед за размером шрифта у html будут меняться размеры шрифтов везде. Так же можно использовать эти же единицы rem везде, где размеры элементов по смыслу связаны с размером шрифта.
    Ответ написан
    Комментировать
  • Использовать Jquery и Jquery ui в 2019?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Нормально ли использовать сейчас эти технологии

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

    Так что смотрите, что у вас за проект, какие задачи стоят, какие инструменты будут использоваться в любом случае, а потом уже решайте, нужно ли добавлять еще что-то. Не нужно приносить или выкидывать инструменты только из-за хайпа или каких-то заскоков типа "он устарел". Вон в линуксе многие стандартные утилиты старше меня, но они как решали свои задачи, так и продолжают решать. Во фронтенде тоже самое - с возрастом инструменты не теряют свой функционал.
    Ответ написан
    Комментировать
  • Какую сетку использовать?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Только изучаю верстку. И думаю что использовать для адаптивности, готовую сетку или делать свою.

    Посмотрите на готовые сетки. Сделайте свою. Это не сложно. Это не то, что нужно "делать". Сетка - это чуть ли не самое простое, что вообще у нас в верстке есть. Использовать свою или чужую - не важно. Важно - понимать, какие задачи она решает.

    И есть еще один момент: вписывается ли конкретная сетка в конкретный проект. Например мне нравится вот эта сетка. Я ее часто использую, она простая, удобная, очень похожа на тот же flexboxgrid, но с классами в духе rscss. Все круто. Но в проект, где используют БЭМ, я ее не принесу, как бы она мне не нравилась. Просто она туда не впишется. Или если нужна поддержка старых IE - там без флексов она не будет работать. Или может быть дизайн, требующий семь брейкпоинтов. Или 11 колонок. Всякое в жизни бывает. И идеально подходящая в одних ситуациях сетка совершенно не подойдет в других. Нет универсального варианта для всех возможных проектов.
    Ответ написан
    Комментировать
  • Можно ли использовать чужой js код?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Так вот, можно ли его использовать в своих проектах?

    Вообще исходники этой штуки лежат на гитхабе, лицензия - MIT. Так что да, используйте на здоровье.
    Ответ написан
    1 комментарий
  • Hammaer.js как сделать несколько слайдеров с одинаковыми классами на одной странице?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Вариантов много. По-хорошему, если вы пишете много простых компонетнов руками на чистом JS, то очень имеет смысл организовать систему классов для них. Один компонент - один класс. Организовать их можно по-разному (мне вот такая структура нравится). Для вашего примера можно начать с простого:

    class MySlider {
        constructor(element, options) {
            const manager = new Hammer.Manager(element);
            
            manager.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
            manager.on('pan', (e) => {
                const percentage = 100 / options.numberOfSlides * e.deltaX / window.innerWidth;
                
                element.style.transform = `translateX(${percentage}%)`;
            });
        }
    }
    
    [].forEach.call(document.querySelectorAll('.slider-wrapper'), (element) => {
        const slider = new MySlider(element, { numberOfSlides: 2 });
    });


    Затем, чтобы собрать все в одном месте, упростить отладку и избавиться от повторяющегося кода, имеет смысл организовать мини-фабрику по производству компонентов. Что-то вроде такого. Таким образом вы не только решите свою задачу, но и упростите жизнь себе и тем, кто будет ваш код потом поддерживать.
    Ответ написан
    4 комментария
  • Как реализовать каскадную анимацию?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    как цепочку запустить по кольцу, сохранив при этом текущую анимацию

    Не претендую на точное повторение вашей анимации, но получится что-то в таком духе:
    Ответ написан
    4 комментария
  • В чем может быть проблема анимации на mac OS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Сразу бросается в глаза, что при скролле вы анимируете свойство top. При переходе между страницами в скриптах происходят постоянные обращения к свойствам inner*/outer*/offset*/client* (все минифицировано, не разобрать) а также изменения значений left, height и, возможно еще чего-то. Это все вызывает множественную перестройку макета страницы и проблемы с производительностью. Рекомендую почитать статью по теме.
    Ответ написан
    Комментировать
  • Как сделать раскраску на canvas?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Если не смотреть на то, как это там реализовано, а подумать своей головой, то я бы сказал, что это в разы проще сделать с помощью SVG. Раскраска - это по сути векторная картинка с большим количеством замкнутых контуров (элементы path), которые еще на этапе рисования объединены в группы (элемент g), которые потом будут краситься в один цвет, клик на группу легко делается стандартным addEventListener('click' ..., а заливка - это атрибут fill с цветом. Ну а выбор карандашей - это стандартная карусель, только не с картинками, а с кучей кружков, на которые можно кликать и выбирать цвет для заливки.
    Ответ написан
    Комментировать
  • Что делать, если автор вопроса отметил решением свой ответ, но мой ответ гораздо лучше?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Еще есть вероятность, что случайно мимо проходящий куратор тега отметит и ваш ответ решением.
    Ответ написан
    Комментировать
  • Создает ли нагрузку css градиент?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В теории:

    В процессе работы анимации со свойством background-position постоянно происходит полный цикл всего, что только может происходить при отображении страницы:

    fblbnrk5cdwptagicpqspwlawku.png

    Иными словами нагрузка есть, да.

    На практике:

    На среднем железе один такой цикл занимает меньше 1ms. Это не много. Это не то, что будет создавать "ощущение тормозов" у пользователя. Если поделить 1000ms на 60fps, то получится где-то ~16.5ms на кадр. Соответственно, если бы анимация занимала к примеру 30ms, то мы бы глазами видели лаг. Если анимация занимает ~10-12ms, то у устройства еще остаются ресурсы на работу остальных скриптов, общение с сервером и.т.д. и мы видим шустро работающую страницу. А в вашем случае она занимает меньше 1ms, так что нет каких-то весомых причин отказываться от нее. Не занимайтесь преждевременной оптимизацией.
    Ответ написан
    Комментировать
  • HTMLElement is not defined как исправить?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    На гитхабе говорят, что проблема в element-ui. Пофиксят в следующей версии 2.8.3.
    Ответ написан
    Комментировать
  • Как сделать круговую диаграмму?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Атрибут stroke-linecap='round' у элемента path как раз сделает такие закругления на концах. А сам path по окружности можно сделать как в этом ответе на SO.
    Ответ написан
    Комментировать
  • Webpack выдает "fatal error in line 0" при сборке, что делать?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Это баг в node.js 12 версии. Пока они не исправили ситуацию, вы можете вернуться к 10 LTS версии. С ней таких проблем не будет.
    Ответ написан
    3 комментария
  • Как сделать вот такие стрелки для ul списка. Как на примере?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Ответ написан
    Комментировать
  • Установка gulp в webstorm, как установить на windows?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Вы опечатались, между "save" и "dev" должен быть дефис: npm i gulp --save-dev.

    Ваша же (некорректная в данной ситуации) команда говорит npm установить пакет dev, который зависит от пакета inotify, который предназначен только для linux, и, разумеется, под windows возникает ошибка "эта платформа не поддерживается".
    Ответ написан
    1 комментарий
  • Проблема с import и export ES-6 и vs code. В чем может быть дело?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Пробую импортировать и экспортировать переменные... ошибки...

    Попробуйте добавить type к основному скрипту:
    <script src='./js/main.js' type='module'></script>

    P.S.: Нативные модули не везде поддерживаются, так что если вы не делаете сайт исключительно для вечнозеленых браузеров, то пока имеет смысл использовать babel.
    Ответ написан
    Комментировать