Frontend по-флотски 👨‍💻
4.68K subscribers
268 photos
56 videos
1 file
524 links
Новости, идеи и знания из мира разработки интерфейсов

Контакт: @qmzik
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация — это просто с Framer Motion 😍

На прошлой неделе открыл для себя библиотеку framer-motion для React, она показалась мне настолько интуитивно простой, что я аж зарядился энтузиазмом делать анимации по просьбе дизайнера и получал от этого удовольствие

Она может анимировать скролы, клики, тапы, драг-н-дропы и даже svg и 3D

Документация и примеры 👇
https://www.framer.com/motion/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133🔥3❤‍🔥1🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
CSS анимация на основе скролла 😍

Продолжаем следить и изучать animation-timeline, view-timeline и animation-range, в этом примере автор создал параллакс сетку на чистом CSS 🫡

Вот ключевые моменты, на самом деле всё довольно просто:
.collage {
height: 200vh;
view-timeline: --collage;
}

.photo {
animation-name: travel;
animation-fill-mode: both;
animation-timing-function: linear;
animation-timeline: --collage;
animation-range: entry 100% exit 0%;
}

.photo:nth-of-type(7n + 1):nth-of-type(even) {
--vertical: -100%;
--horizontal: 100%;
}

keyframes travel {
0% {
translate: 0 0;
}
50% {
translate: 0 var(--vertical);
}
100% {
translate: var(--horizontal) var(--vertical);
}
}

Код ещё рано использовать в продакшене, пока что ждём-с и пускаем слюни 🤤
animation-timeline, 60% поддержки на caniuse

animation-range, 60% поддержки на caniuse

CodePen
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13👍73🔥2🤩2🤡1
Frontend по-флотски 👨‍💻
Типизированные CSS переменные с @property 🧑‍🎓 Новый перевод в здании, тема новая и интересная, залетаем 👇 https://habr.com/ru/articles/759818/
This media is not supported in your browser
VIEW IN TELEGRAM
В девтулзах хрома появился просмотр CSS @property 🥰

Чтобы просмотреть переменную (свойство), в разделе Elements > Styles наведи курсор мыши на имя переменной (свойства) и увидишь его описание во всплывающей подсказке. В целом, всё есть в видео 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤‍🔥7🔥31🥰1🤡1
Bun — ещё один конкурент Node.js и даже больше 👏

На днях вышел первый стабильный релиз Bun 1.0, он написан на языке Zig, заявляет, что в разы быстрее Node.js и даже быстрее Deno

Работает с JS и TS, может напрямую выполнять .jsx и .tsx файлы

Из коробки есть методы для тестирования, пакетный менеджер и бандлер

Официальный сайт

Видео от создателей

GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍32❤‍🔥2🤡1
Svelte: Знакомство с рунами 🤨

Svelte Team обещает выпустить Svelte 5, а мы смотрим, что там может поменяться и что за руны такие они нам приготовили

https://habr.com/ru/articles/763256/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤡6❤‍🔥21🔥1😍1
Вышел Safari 17 🥳

Статья довольно большая, не взялся переводить, решил выписать тезисно:

HTML:
— Новый элемент <search>
— Добавлена поддержка атрибута popover
— Добавлена поддержка <hr> внутри <select> (можно добавлять разделители в селект)

CSS:
— Добавлена поддержка @font-face size-adjust
— Добавлена поддержка text-transform: full-width и text-transform: full-size-kana
— Расширена поддержка @supports для font-format() и @supports font-tech()
— Свойство hyphens, для согласования префиксов -webkit- с их аналогами без префиксов
— Добавлена поддержка @counter-style
— Куча фиксов display: contents, расширение Media Queries до level 4
— Улучшение image-set

JS и Web API:
— Полная поддержка Storage API и обновление лимита с 1 ГБ до относительной величины от размера жётского диска пользователя, получить можно через StorageManager.estimate()
— Метод drawImage() канваса, теперь может принимать svg картинку
— Реализованы 2 пропоузала регулярных выражений: v-flg и duplicate named capturing groups
Новые методы объекта Set
— Появилась возможность использовать хэптик фидбэк на геймпаде: navigator.getGamepads()[0].vibrationActuator.playEffect("dual-rumble", options)
https://webkit.org/blog/14445/webkit-features-in-safari-17-0/
— Добавлен метод URL.canParse()
— Добавлена поддержка относительных урлов в объекте веб-сокета: new WebSocket('/updates')

Больше подробностей 👇
https://webkit.org/blog/14445/webkit-features-in-safari-17-0/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2🤡2
Небольшой совет для чистоты кода 🧑‍🎓

Создание элемента и назначение ему атрибутов при создании, поможет понять состояние элемента сразу на месте, используя Object.assign
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥61👍49🔥13🤡54
This media is not supported in your browser
VIEW IN TELEGRAM
Как относишься к юмору на канале?)

Взято из ППШ

👍 — иногда надо посмеяться
👎 — я тут за знаниями
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58👎26🤡6🔥3❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
form-sizing: content — одна строчка для авторесайза textarea 😏

На просторах твиттера нашёл свойство form-sizing, но ни MDN, ни caniuse ничего по нему не выдаёт, проверил, и оно работает в Chrome Canary, будем следить 🥺

Хотелось бы уже избавиться от JS костылей для контроля высоты textarea

CodePen
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39🔥7❤‍🔥61👏1
Vue Macros — библиотека хотелок сообщества 🫶

Vue Macros — это библиотека, реализующая пропоузалы или идеи, которые не были официально реализованы в Vue (Evan You в спонсорах)

В большинстве случаев макросы добавляют синтаксический сахар для Vue

Работает с Nuxt 3 и Astro (иногда и с Vue 2), все макросы типизированы и поддерживаются Volar

Официальный сайт

Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2❤‍🔥11🥴1
Редизайн Chrome Web store 🥹

Дополнительно появилась возможность перенаправить пользователя по ссылке для оценки твоего расширения (https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews)

Также теперь стало возможно заливать более качественные скрины для экстеншенов (1280x800)

Превью дизайна можно потыкать тут

Релиз обещают сделать в ближайшее время (дату не называют)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍42❤‍🔥2
Билеты куплены, через 3 недельки выдвигаюсь на HolyJS 🫡

До встречи, друзья ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍6👏2❤‍🔥11🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Если ты анимируешь цифры, то этот пост для тебя 🫣

font-variant: tabular-nums — твой спаситель от постоянного дёрганья, одна CSS строчка решит твою проблему 🤞

caniuse 96% — можно смело использовать в продакшене

font-variant-numeric MDN — узнать подробности и другие значения
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93👍106
Вышел Abell v1 Beta ✍️

Abell — это низкоуровневый, очень гибкий, не зависящий от фреймворка, Vite-генератор статических сайтов для быстрого создания сайтов с нулевым уровнем использования JS по умолчанию.

Почему Abell?
"А что, если мы возьмем хорошие вещи из нескольких типов решений и построим нечто, что будет: низкоуровневым, как Jekyll, Framework Agnostic и интегрируется в современную экосистему, как это делает Astro, имеет меньшую кривую обучения, чем привычный HTML. Abell пытается быть именно таким" — цитата разработчиков

Официальный сайт

Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥2🥱21👎1🔥1
Frontend по-флотски 👨‍💻
text-wrap: balance 🔥 Возможно тебя заставляли дизайнеры выравнивать строчки текста по длине, и ты корячился с max-width и брейпойнтами в css или, возможно, даже писал скриптик для этого, но скоро мы вылечим эту болячку Пару недель назад text-wrap: balance…
This media is not supported in your browser
VIEW IN TELEGRAM
CSS text-wrap: pretty 🧑‍🎓

Это значение позволяет следить за тем, чтобы абзацы не заканчивались одним словом, корректировать дефисное написание, если в конце абзаца появляются строки с дефисами, или подгонять предыдущие строки, чтобы освободить место, и соответствующим образом исправлять выравнивание текста

Также я уже рассказывал про text-wrap: balance, который не предотвращает появление одиночных переносов, но гарантирует, что текст будет обернут таким образом, чтобы создать гармоничный текстовый блок

caniuse 42%, Работает с Chrome 117+

Подробнее про text-wrap и его значения
Статья про text-wrap: pretty
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤‍🔥83👻1
Сегодня делал ховера всякие на активные элементы и заметил, что дизайнер использовал цвет не из UI-кита (цвет выглядит просто темнее)

Сразу же вспомнил про SASS darken, но после попытки связать darken и css-vars я сразу понял, что это не выйдет 😰

Тут же после пару минут гуглинга понял, что уже могу использовать CSS color-mix (caniuse 83.7%), просто смешиваю мой цвет с чёрным и получается тот же darken

Подробнее про color-mix()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥62
This media is not supported in your browser
VIEW IN TELEGRAM
Мой первый мем, надеюсь, что для кого-то жиза 🥹

Всем продуктивного понедельника ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣55😁8👍64