Задать вопрос
  • Как сделать круговую диаграмму?

    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.
    Ответ написан
    Комментировать
  • Как сделать такое подчеркивание текста?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    span {
        background: linear-gradient(to bottom,
            transparent 0%,
            transparent 50%,
            #ff0 50%,
            #ff0 100%);
    }
    Ответ написан
    4 комментария
  • Как наложить текст на картинку?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    .category-desc {
        position: relative;
    }
    
    .page-header.item-title {
        position: absolute;
        bottom: 60px;
        left: 10px;
    }
    Ответ написан
    Комментировать
  • Как сформировать строку посредством макросов языка Си?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Знаю, что здесь надо использовать "магию" с промежуточным макросом, но не могу сообразить как реализовать.

    Если я ничего не путаю, то должно получиться что-то такое:
    #define number 10
    
    #define mkstr2(s) #s
    #define mkstr(s) mkstr2(s)
    #define stamp "stamp n." mkstr(number)
    
    #include <stdio.h>
    
    int main()
    {
        printf("%s", stamp); // stamp n.10
        return 0;
    }
    Ответ написан
  • Как решить проблему со сменой цвета элемента на фоне другого цвета при скролле?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Если нужно именно такой частичный переход сделать, да еще и кроссбраузерно, то можно отталкиваться от следующего подхода:
    • Есть несколько секций с overflow: hidden
    • Иконки дублируются в каждой секции, но с разными цветами
    • В процессе скролла двигаем иконки, чтобы они оказывались на одном и том же месте относительно экрана

    Прототип для изучения:

    Вариант сделать это на position: fixed - не вариант, т.к. в сочетании с overflow: hidden может происходить неведомая магия.
    Ответ написан
    Комментировать
  • Как сделать похожую документацию?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Они используют vuepress.
    Ответ написан
    Комментировать
  • С чего начать изучение webgl, чтобы сделать так?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Вся суть таких анимаций - много заранее заготовленных кадров, которые мы по очереди показываем. Чем больше кадров - тем плавнее анимация. Они могут быть в отдельных картинках или по много кадров в одной. На вашем сайте все это еще поделили - каждая часть бутылочки имеет свою последовательность кадров:
    Спойлер
    1ersu-v8gwpy6mxqyagwggfny0k.png

    Каких-то конкретных преимуществ этого подхода по сравнению с одним кадром на все я не вижу. Использовать ли для этого WebGL? Ну можно. Точно также, как и обычный canvas. Как выводить картинки на него вы легко загуглите, остается только посчитать координаты расположения кадров в картинке (по идее дизайнер должен их там аккуратно по сеточке расставлять) и выводить их по очереди.

    P.S.: По идее можно отрендерить видео и вместо ручного переключения кадров проматывать его в разные стороны с разной скоростью в зависимости от скролла. Но на практике что-то не видно, чтобы это массово делали, обычно используют именно отдельные кадры.
    Ответ написан
    1 комментарий
  • Почему видеоуроки - это зло?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    не важно каким образом ты что-то изучаешь, главное, что в итоге ты получишь знания

    Кроме достижения цели есть еще такой фактор, как время. А время, как известно - деньги. Объемы и скорость потребления текстовой информации всегда выше, чем видео. Текст - это:
    • Возможность бегло просматривать, на автомате фильтруя воду
    • Возможность пользоваться поиском и гиперссылками
    • Возможность копипастить
    • Зачастую более полная информация
    • Чем больше читаете, тем быстрее читаете, тем больше читаете, тем быстрее читаете....
    • + В наших краях читать на английском большинству проще, чем слушать

    Как вы читаете подобную литературу и как мне не умирать после каждой страницы?

    Книги и статьи по разработке, маны и документации - это тексты, которые читать последовательно от корки до корки долго, скучно и неэффективно. Гораздо лучше быстро скользить взглядом, останавливаясь на важных моментах. А если объем большой - то сразу пролистывать все, а потом "спускаться на уровень ниже" за подробностями по тому или иному вопросу. Так книжка на 700-800 страниц может пролистываться за день, а затем при необходимости можно точечно просматривать темы, которые нужны на данный момент. Вести записи в тетрадях для запоминания также почти всегда неэффективно, лучше сразу практиковаться. Что нужно - само запомнится, а что не нужно - просто знайте где почитать, на случай если оно вдруг понадобится.
    Ответ написан
    Комментировать
  • Как просто пронумеровать строки в textarea (ценой не более, чем 5КБ кода)?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Попробовал набросать свой вариант без jQuery:

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Если речь про CSS-анимации, то да, display: none в большинстве случаев не вариант. Можно вместо него использовать сочетание visibility: hidden и pointer-events: none, а вопрос занимаемого пространства решать уменьшением высоты до 0 к примеру (но это уже зависит от того, что у вас там за анимация, по тексту этого не понять).
    Ответ написан
  • Как можно реализовать подобную анимацию?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В базовом варианте - в сам момент появления фоновой картинки у нее изменяются свойства transform: scale (уменьшаем размер), filter: blur (уменьшаем размытие) и opacity (либо делаем появление этой картинки, либо уход предыдущего фона с прелоадером). Затем плавно меняется transform: translate в зависимости от положения мыши или еще чего-то (на видео видно, что все немного "едет"). Главная опасность, которая может поджидать - это плохая производительность CSS-фильтров, так что все может немного подлагивать.

    По-хорошему, конечно, это все стоило бы написать на шейдерах и вместо transform: translate прикрутить что-то вроде fake3d, но это уже совсем другая история...
    Ответ написан
    Комментировать
  • Как исправить то, что после любого npm install прходится повторять инсталл из git?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    В обсуждении #19394 говорят, что эта проблема была исправлена в версии 5.7.0. Вероятно вам стоит немного обновить NPM.
    Ответ написан
    1 комментарий
  • Почему не отображается слайдер?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Вот тут не должно быть пробелов между именами классов:
    var services__slider = $(".services__wrap.owl-carousel");
    Ответ написан
    3 комментария
  • Какие шаблоны проектирования js применяются на практике чаще всего?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    какие паттерны применяются чаще всего на практике и где

    Сразу отмечу, что все это чисто мое имхо, которое может не совпадать с мнением окружающих. В контексте фронтенда обычно все довольно просто. По моим наблюдениям в среднем сайте могут иметь смысл:
    1. Модули (делим код на независимые части)
    2. Фабрики (для компонентов интерфейса)
    3. Синглтоны (для хранилищ, точек сбора полифиллов / утилит и.т.д.)
    4. Адаптеры (для зависимостей и полифилов, которые могут измениться / выпилиться)
    5. Наблюдатели (для сбора происходящих событий в одном месте)
    6. Хранители (для сохранения действий пользователя и "Ctrl-Z")
    7. Стратегии (если действуем в зависимости от прилетевших данных)

    Другим паттернам применение вижу редко, только если под какую-то замороченную бизнес-логику. Хотя кого я обманываю, на среднем сайте обычно происходит только один паттерн - доширак из костылей. Ну и стоит сказать, что SPA-фреймворки имеют свойство навязывать свои подходы к решению задач, но это отдельная тема.

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Забудьте... дизайнер просто демон... посылайте нафиг дизайнера...

    О да, люблю эти комментарии. Набросал тут небольшой прототип:


    В браузерах особо не проверял, только Chrome и FF, но вроде в современных должно работать.
    Ответ написан
    6 комментариев
  • Имеет ли смысл такая конструкция в JS?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    result.hasOwnProperty(i) не может быть false. Во всяком случае я не придумал подходящего "кейса".

    Может быть и false, если какое-то свойство определено в прототипе:
    class Test {
        constructor() {
            this.foo = 'foo';
        }
    };
    
    Test.prototype.bar = 'bar';
    
    const test = new Test();
    
    console.log('foo' in test); // true
    console.log('bar' in test); // true
    console.log(test.hasOwnProperty('foo')); // true
    console.log(test.hasOwnProperty('bar')); // false
    Ответ написан
    Комментировать