• Как верстать изображения с выносными названиями её элементов?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно картинкой вставить. Просто. Быстро. Размер шрифта начинает отличаться от остальной страницы при адаптивном уменьшении картинки. Печаль для дизайнера-перфекциониста. А еще буквы могут начать мылиться. Это вообще печаль. Если нужно добавить/убрать стрелки - придется перерисовывать картинку. Это неприемлемо, если к ним привязана какая-то еще логика и они показываются не всегда.

    Можно использовать связку SVG+CSS:
    - Берется SVG с viewbox='0 0 100 100'.
    - Основная картинка вставляется в виде image.
    - Стрелки рисуем в векторе (это просто дуги из одной точки в другую с маркером на конце).
    - Если нужно сделать их двухцветными, как в вашем примере - делаем маску по картинке и применяем ее к стрелкам.
    - Надписи верстаем отдельно (div`ами) и абсолютно позиционируем сверху. Координаты будут соответствовать им же в svg (от 0 до 100). Это нужно для того, чтобы сохранять размер шрифта при адаптивном уменьшении всего этого.

    Дальше при необходимости мы можем легко из css или js показывать или скрывать надписи и стрелки.
    Ответ написан
    5 комментариев
  • Каких вы знаете крутых специалистов в области UX, UI, Моушен-дизайна?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    русские

    Наш Николай.

    зарубежные

    Их Николай.

    Но в целом в этих областях полно интересных людей. Думаю вам стоит уточнить цель вашего вопроса.
    Ответ написан
  • Как сделать эффект при наведении как в Windows 10?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    1. Набор элементов с бордерами (блоки-флексы-гриды по вкусу).
    2. Сверху абсолютно позиционированный элемент в 200vh/200vw с фоном в виде радиального градиента из прозрачного в цвет фона body или что там еще снизу находится.
    3. В вышеупомянутых элементах текстам задаем z-index и они ложатся сверху градиента.
    4. На событие mousemove вешаем обработчик, который меняет координаты градиента.

    Получаем что-то такое:
    5b5f2943a7553328112612.pngcodepen

    P.S.: И в перспективе вставляйте картинки сюда, а не на левый хостинг.
    Ответ написан
    Комментировать
  • Как сделать такой бордер?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Подобные бордеры легко рисуются линейными градиентами на одном элементе (пример).
    Ответ написан
    2 комментария
  • Как при использовании SVG залить область внутри path?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Путей два:
    • Не морочьте себе голову, оставьте только один контур у этих объектов (уберите все, что есть после буквы M в атрибуте d у #rocket-window и #rocket-outline) и поместите #rocket-window после #rocket-outline в коде.
    • Используйте fill-rule="nonzero" у этих объектов, но убедитесь, что оба контура (внутренний и внешний) нарисованы в одну сторону (по часовой или против).
    Ответ написан
    Комментировать
  • Какие технологи используются для этого сайта?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Какие языки для его написания необходимы?

    HTML, CSS, JS, GLSL. В целом тут все строится на WebGL (Three.js будет хорошим подспорьем) и CSS-анимациях (которые можно по-быстрому вкрутить туда через CSS3DRenderer). Есть любители делать все на WebGL, но это сложно, ведет к костылям и тормозам. Дальше нужно сделать 3D-модели для всего, долго расставлять все по сцене, добавить немного физики, написать пару фрагментных шейдеров, которые размылят картинку где это необходимо, и двигать камеру по сцене. Самое главное тут - производительность, которая сильно зависит от прямых рук разработчика и его способностей к написанию алгоритмов своими руками и последующей оптимизации. Большинство таких сайтов имеют проблемы с производительностью, но обычно это следствие горы скриптов, которые принесли в проект тупой копипастой (часто это чьи-то эксперименты с CodePen, которые никто и не начинал доводить до ума - они показывают идею, но аццки тормозят). Ну и про замысел не стоит забывать - с этим обычно сложнее всего.
    Ответ написан
    Комментировать
  • Какие книги стоит читать по криптографии с нуля до гуру?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Какие книги рекомендуете читать по этому направлению?

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    бежит линия (ломаная), добегает до блока - он появляется и бежит дальше вниз по лендингу

    Если я правильно понял вопрос, то вам подойдет пример скролла из этой статьи, только линию нужно будет заменить на свою.
    Ответ написан
    Комментировать
  • Что должен знать джун (фронтенд) о linux?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Видел я людей, которые называли себя программистами и при этом до жути боялись открыть консоль и что-то в ней сделать. Думаю вы встречали таких. Их еще обычно издалека можно опознать по стремлению извратиться как угодно и поставить 100500 плагинов в свою ide, только чтобы не запускать консольку. Они как будно боятся мигающего курсора. Обычно это сопровождается боязнью экспериментов и вообще изучения нового. В первую очередь требование уметь работать с linux отсеивает подобных кандидатов.

    В моем окружении фраза "навыки работы в Linux-системах" подразумевает, что вы можете настроить свое рабочее окружение, можете управлять зависимостями, запускать сборку, тесты, и при этом не отвлекать коллег тупыми вопросами в духе "я вошел в vim и теперь не знаю, как из него выйти". Какое-то серьезное администрирование наша профессия не предполагает (в компаниях, где оно вообще есть, обычно есть и отдельный админ), а вот все, что связано с повседневными задачами вы должны делать сами.
    Ответ написан
    Комментировать
  • Как в SVG PATH установить фоновый рисунок?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    1. Нарисуйте веревку как прямоугольник (не линию с толщиной, а именно замкнутый контур)
    2. Сделайте внутри SVG pattern с нужной картинкой (image)
    3. Используйте свойство fill, чтобы залить прямоугольник этим паттерном


    При возникновении трудностей - гуглите упомянутые термины.
    Ответ написан
    1 комментарий
  • Разработка канбан-доски (pet-проект) для опыта. Технологии, фреймворки?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    хотел прикрутить HTML+CSS, но единственный вариант который я нашел - использование встроенного браузера... начинаю склонятся к альтернативным решениям в виде Electron


    По вашим словам кажется, что вы придумываете приложение для одного человека работающее в единственном экземпляре. А почему бы не сделать клиент в обычном браузере (html/css/js - полный набор, верстайте, что хотите) и отдельный сервер с БД и логикой? Сервер можете и на Java делать. А можно и на PHP. Приложение по самой своей идее должно быть для нескольких людей, так что такое разделение было бы логичным.
    Ответ написан
    3 комментария
  • Boilerplate для не SPA?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Без vue, react и прочих библиотек. Интересует как писать js компоненты типа табы, модалки и т.п. Как реализовать их взаимодействие. Хочется посмотреть на примеры и реализации.

    Если говорить о наборе компонентов интерфейса, особо не связанных между собой по данным (а в не-spa обычно это так и есть), то можете посмотреть мой велосипед. Там все просто, он сделан как раз для изучения. Убрав компоненты и утилиты получите почти готовый шаблон для сборки.

    для многостраничных сайтов

    Количество страниц не так важно. Основная идея может состоять в том, чтобы делать отдельную коллекцию компонентов (как в велосипеде), по сути мини-фреймворк с фирменным стилем, а потом на нем уже клепать страницы. Особенно хорошо подход заходит, когда у компании несколько сайтов с единым стилем. Может показаться, что будет уходить много времени в начале работы, но на деле это не так, поскольку решение не нужно придумывать каждый раз заново. Копипасту никто не отменял.
    Ответ написан
    1 комментарий
  • Как сделать незамкнутый контур в CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Практически все подобные вопросы про бордеры можно решать с помощью линейных градиентов (пример). Это получается как бы не бордер, а просто нарисованные на фоне линии.
    Ответ написан
    4 комментария
  • Svg + тень, адаптив?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Как такую тень сделать?

    Использовать фильтр с feOffset и feGaussianBlur. Просто сдвинуть и размыть. Получится тень. Начать можно вот отсюда.

    Есть конечно и feDropShadow, но по сути это является укороченным синтаксисом для первого варианта и не работает в IE.
    Ответ написан
  • Сделать такую карту SVG?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Слой номер раз: SVG картинка со схемой, вставляете ее в код страницы. Областям задаете какой-нибудь класс, чтобы селекторы были более понятными.

    Слой номер два: Плашки с текстом. Их удобно не в картинку пихать, а верстать на html/css и располагать поверх картинки с помощью абсолютного позиционирования или трансформаций. Если сообразить для картинки viewbox='0 0 100 100', то даже считать ничего не нужно будет.

    Дальше на css на :hover/:focus по областям показываете плашки с текстом. Можно это на :nth-child построить или еще как-нибудь - смотрите, что будет удобнее. Ну и самим областям меняете fill на оранжевый.

    P.S.: Можно еще сделать, чтобы в плашках как бы вода с волнами наливалась при наведении мыши, но это уже совсем другая история...
    Ответ написан
    3 комментария
  • Как имитировать заполнение формы пользователем?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Как это может выглядеть?

    Например вот так:
    I.amOnPage('/');
    I.click('Login');
    I.fillField('Username', 'john');
    I.fillField('Password', '123456');
    I.click('Enter');
    I.see('Welcome');

    Так то ваш скрипт можно написать на чем угодно, но довольно удобными вариантами будут именно инструменты для тестирования (потому что они изначально предназначены для этого). Codecept - частный случай, он хорош в основном своим стилем написания тестов в виде сценариев. И не надо никакие велосипеды делать.
    Ответ написан
    Комментировать
  • Как вывести из txt файла ссылки?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Можно пойти в консольку (bash наше все). Если ссылки так и стоят в начале строк:
    awk '{print $1}' test.txt

    Если они там и как попало тоже стоят, то можно регуляркой их вытащить. Что-нибудь такое получится:
    grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" test.txt
    Ответ написан
    Комментировать
  • Почему такой баг с SVG mask?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Тоже не поверил, что в FF могут быть проблемы с маской. Уже подумал, что вы баг в браузере нашли... Но все оказалось куда проще - в ответе на SO какая-то жесть творится с размерами, я ее немного поправил и все заработало:
    <svg viewbox='0 0 100 100'>
        <defs>
            <mask id='mask'>
                <rect x='0' y='0' width='100' height='100' fill='rgba(255,255,255,0.5)' />
                <circle r='50' cx='50' cy='50' fill='#000' />
            </mask>
        </defs>
        <image xlink:href='....' x='0' y='0' width='100'height='100' />
        <rect x='0' y='0' width='100' height='100' fill='white' mask='url(#mask)' />
    </svg>

    С самой маской проблем нет.
    CodePen
    Ответ написан
    8 комментариев
  • Как сделать круглый бордюр не до конца?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    круглый бордюр

    Можно хоть звездочкой его сделать - habr.com/post/349988/.
    Ответ написан
    Комментировать