Задать вопрос
  • Как обеспечить такую анимацию в CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    ...реализовать анимацию кнопок виджета по "траекториям"?


    Как сделать такую анимацию css?
    Ответ написан
    Комментировать
  • Как сделать такую анимацию css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На чистом CSS такое делать слишком долго. Проще взять связку SVG+JS. Рисуете для каждой точки path - путь, по которому она двигается, а затем на JS ее двигаете по этому пути. Есть много готовых решений, например вот простое демо на чистом JS, да и в библиотеках вроде anime.js есть такая функция.
    Ответ написан
    Комментировать
  • Какой таск-менеджер выбрать программисту?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Redmine хоть и динозавр, но все еще жив. И даже может быть приятен глазу.
    Ответ написан
    Комментировать
  • Какие браузеры не поддерживают классы стилей на кириллице?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    и оно работает!?


    Привет от Криса Койера из 2010:
    Oh, and yes-it-works-in-IE6™ & yes-it-validates™


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

    P.S.: Можете написать свой йопта-бутстрап для людей, пишущих на yoptascript :)
    Ответ написан
    Комментировать
  • Есть ли плавный скролл между якорями на чистом JS?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Для современных браузеров ничего придумывать не нужно, все и так уже есть.
    element.scrollIntoView({ behavior: 'smooth' })
    Для остальных можно временно заполифиллить.
    Ответ написан
    1 комментарий
  • Есть ли способ сделать цветные шрифтовые иконки?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    но сам пак иконок становится чёрно белыми...

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

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Как давно в JS можно не писать function в первом примере?

    Ключевое слово function можно опускать в определенных ситуациях:
    let bar = {
        test: 'A',
        foo() {
            console.log(this.test);
        }
    }
    
    bar.foo(); // A
    
    class Bar {
        constructor() {
            this.test = 'B';
        }
        foo() {
            console.log(this.test);
        }
    }
    
    (new Bar()).foo(); // B

    Разумеется для старых браузеров нужен Babel. В остальных случаях запись вида test(){} вызовет ошибку Uncaught SyntaxError: Unexpected token.
    Ответ написан
    Комментировать
  • Почему Pagespeed выдает, что стили в head есть, когда их там нет?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Approximately 10% of the above-the-fold content on your page could be rendered without waiting for the following resources to load. Try to defer or asynchronously load blocking resources, or inline the critical portions of those resources directly in the HTML.

    Только часть контента может быть отрендерена без ожидания загрузки ресурсов, которые вы убрали в конец страницы. Решается это тем, что вы в начало страницы вставляете элемент style с критичными стилями для первого экрана. В качестве бонуса это уменьшает время загрузки страницы по ощущениям пользователя. Это автоматизируется разными способами. Гуглите critical css + название вашей системы сборки.
    Ответ написан
    1 комментарий
  • Как удалить публичный пакет npm?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    С помощью unpublish можно убрать из публичного доступа пакет, который был опубликован в последние 24 часа. Если это так и пакет не удаляется - лучше написать в техподдержку (в последние пару дней у многих ресурсов были серверные проблемы - github и codepen уже падали, может и у npm что-то не так). Если же вы опубликовали свой пакет раньше, то удалить его уже нельзя. Можно только сделать устаревшим с помощью npm deprecate. Если ваш пакет не является зависимостью у других пакетов, то теоретически можно попросить техподдержку удалить его вручную, но не факт, что они станут это делать.
    Ответ написан
    1 комментарий
  • Почему у меня выводится не правильно?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    У вас там куча не закрытых тегов, должно быть <div class='grid-itm'>....</div>.

    P.S: В следующий раз не вставляйте код в виде картинки, лучше делайте демку на codepen или jsfiddle.
    Ответ написан
    Комментировать
  • Как получить текущее положение планет?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Первая ссылка из гугла привела на страницу cosinekitty.com/solar_system.html, где находится таблица, в которой в реальном времени обновляются координаты планет солнечной системы и некоторых спутников. Есть разные опции. Работает это все на основе astronomy.js.
    Ответ написан
    1 комментарий
  • Есть функция или миксин для оформления сайта в нескольких цветовых гаммах?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Если говорить о таком поведении в реальном времени, то красиво будет сделать все на кастомных свойствах, также известных, как CSS-переменные. Выглядит примерно так:
    body.-red {
        --my-color: #f00;
    }
    
    .test {
        color: var(--my-color);
    }

    Добавляете класс "-red" к body и цвет текста в .text поменяется на красный. Главное преимущество этого подхода - нет полного дублирования селекторов. Главная проблема - работает это только в вечнозеленых браузерах и последнем Edge. Можете посмотреть живой пример. Если нужна поддержка более старых браузеров, то идею для миксина для SASS вы можете подсмотреть в этой статье.
    Ответ написан
    Комментировать
  • Где есть курсы по основам рисунка?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    На канале Олега Торопыгина вы найдете полноценные курсы художественного училища в открытом доступе. По качеству и понятности объяснения будут получше, чем в большинстве школ, особенно для детей. Стоит начать с введения в рисунок.
    Ответ написан
    Комментировать
  • Как изменять пропорции элементов на разных разрешениях экрана?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    То есть надо как то это всё масштабировать... Как вы решаете такие задачи?

    Можно все размеры задавать в rem/em, тогда при изменении размера шрифта для html все будет подстраиваться (вообще rem - это очень удобная штука, особенно когда все размеры выражаются красивыми числами - .5, .75, 1, 1.5, 2, 3, 4..., а не количеством пикселей). При этом можно по-умному привязать font-size для html к единицам vw и результат будет очень приятным.
    Ответ написан
    1 комментарий
  • HTML, CSS: Какими комментариями Вы отмечаете начало и конец блока?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вопрос к верстальщикам, которые передают верстку бэкэндерам

    Если в верстке получается большой каскад в концах разных секций (а это не такая уж и редкость, самая жуть обычно после шаблонизаторов выходит) и потом это надо нарезать на куски для чего-нибудь на серверной стороне, то можно добавлять для крупных логических блоков завершающий комментарий. В целом его можно дублировать открывающим комментарием, иногда его гораздо проще выцепить глазом, по сравнению с классом, особенно если у вас много классов и аттрибутов:
    ... over9000 lines of code ....
                                </div>
                            </div>
                        </div>
                        <!-- /slide -->
                    </div>
                    <!-- /custom-slider -->
                </div>
                <!-- /column -->
            </div>
            <!-- /row -->
        </div>
        <!-- /content-container -->
    </div>
    <!-- /page-container -->

    Как вариант можно не начинать комментарий с новой строки, особенно если вы любите автоматическое форматирование. Такие комментарии позволяют быстрее ориентироваться в происходящем и меньше терять закрытые/не закрытые теги при нарезке на десяток файлов-шаблонов.

    P.S.: И да, никто не заставляет писать их руками - Emmet может сам их генерировать.
    P.P.S: А тем, кто считает бэкендеров "не тупыми, сами разберутся" стоит пожелать быть добрее к людям в новом году, некоторым из них приятно, когда сразу видно, какие блоки где заканчиваются. Также, как и нам приятно, когда в макете все красиво подписано.
    Ответ написан
    4 комментария
  • Хочу набить руку на создании адаптивных меню. Можете подсказать сайты со сложными меню (чтобы посмотреть и попытаться сделать что-то похожее)?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Посмотрите подборку от freefrontend.com. 117 менюшек, начиная от самых простых и заканчивая довольно интересными в плане "сделать это самому и взять приемы на вооружение".
    Ответ написан
    Комментировать
  • Как установить "это", если не имеешь доступа по npm установке?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Проведите процедуру локально и скопируйте не только папку www, но и node_modules. У проекта есть пара зависимостей (их можно посмотреть в файле package.json), которые будут установлены в нее при выполнении npm install. И, разумеется, сама нода должна быть установлена на сервере.
    Ответ написан
    2 комментария
  • Что такое и зачем нужен новый тип данный Symbol в ES15?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Что такое

    Новый тип данных symbol - это попытка ввести уникальные идентификаторы. Все крутится вокруг функции Symbol. Это не конструктор в полном смысле слова, с new ее использовать не получится. Это скорее маленькая фабрика. Она просто возвращает новый символ каждый раз. Это важно. Каждый раз новый. В качестве аргумента можно передать строку, но она используется только для отладки.
    Symbol() === Symbol() // false

    Что такое глобальный символ? Какой еще реестр?

    Есть Symbol.for(), это еще один метод, который не просто возвращает символ, но и сохраняет информацию о том, для какого параметра он создавался. Внешне логика работы напоминает хеширование - для разных параметров символы получаются разные, а для одинаковых - одинаковые.
    Symbol.for('my-string') === Symbol.for('my-string') // true
    Symbol.for('my-string') === Symbol.for('another-string') // false


    Зачем это надо?

    Применение этого типа данных - предмет для споров. Большая часть кейсов из интернета - это попытки поиспользовать новую фишку только ради того, чтобы ее поиспользовать. Самые популярные и практически применимые варианты:
    • В качестве ключа для доступа к свойству объекта. Грубо говоря вместо obj[key] использовать obj[some-magic-unique-key]. Позволяет избежать коллизии этих самых ключей если вы расширяете существующий объект из сторонней библиотеки. На практике встречается не очень часто, особенно в небольших проектах, но по всей видимости это - причина появления символов в языке.
    • Некоторая иллюзия приватных свойств. Символы по-своему работают с циклами и многими методами, связанными со свойствами объекта, становясь невидимыми для них. В результате можно разделить "все свойства с обычными ключами" и "все свойства с ключами-символами". А еще можно запутать код до безобразия.
    • Также, пользуясь предыдущей мыслью, можно сделать что-то вроде метаданных для любого объекта, которые опять же не сломают существующий код, но могут быть использованы для хранения какой-то информации и мередачи ее между отдельными модулями. Штука довольно интересная.
    Ответ написан
    Комментировать
  • Взлом Wi-Fi с точки зрения закона?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Как это с точки зрения закона выглядит?

    В той или иной степени это выглядит следующим образом:
    ст. 272 УК РФ. Неправомерный доступ к компьютерной информации
    ст. 273 УК РФ. Создание, использование и распространение вредоносных компьютерных программ
    ст. 138 УК РФ. Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений.
    ст. 159.6 УК РФ. Мошенничество в сфере компьютерной информации.

    Мне на соседа в суд подать за то, что он в мою квартиру вредные волны запускает?

    Если мощность его передатчика больше разрешенной для простого гражданина и у него нет лицензии (в РФ это кажется называется "оказание услуг связи"), то теоретически можно. Но просто за наличие волн - суд на вашу сторону скорее всего не встанет и посоветует носить шапочку из фольги.
    Ответ написан
    2 комментария
  • Какие книги почитать про хакинг?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Определенно стоит почитать статьи и книги Криса Касперского. Мнения о них у людей разные, информация постепенно устаревает, но они могут дать какие-то основы, понимание того, что в этой области вообще происходит.
    Ответ написан
    Комментировать