This media is not supported in your browser
VIEW IN TELEGRAM
Анимация — это просто с Framer Motion 😍
На прошлой неделе открыл для себя библиотеку framer-motion для React, она показалась мне настолько интуитивно простой, что я аж зарядился энтузиазмом делать анимации по просьбе дизайнера и получал от этого удовольствие
Она может анимировать скролы, клики, тапы, драг-н-дропы и даже svg и 3D
Документация и примеры👇
https://www.framer.com/motion/
На прошлой неделе открыл для себя библиотеку framer-motion для React, она показалась мне настолько интуитивно простой, что я аж зарядился энтузиазмом делать анимации по просьбе дизайнера и получал от этого удовольствие
Она может анимировать скролы, клики, тапы, драг-н-дропы и даже svg и 3D
Документация и примеры
https://www.framer.com/motion/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥3❤🔥1🤡1
Что нового в Chrome 117?
Вчера перевёл статью по апдейту хрома, бегом читать🔥
https://habr.com/ru/articles/760740/
Вчера перевёл статью по апдейту хрома, бегом читать
https://habr.com/ru/articles/760740/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Что нового в Chrome 117?
Эта статья — перевод оригинальной статьи " New in Chrome 117 ". Также я веду телеграм канал “ Frontend по-флотски ”, где рассказываю про интересные вещи из мира разработки интерфейсов. Вступление...
👍7❤4🔥3❤🔥1🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
CSS анимация на основе скролла 😍
Продолжаем следить и изучать animation-timeline, view-timeline и animation-range, в этом примере автор создал параллакс сетку на чистом CSS🫡
Вот ключевые моменты, на самом деле всё довольно просто:
🤤
animation-timeline, 60% поддержки на caniuse
animation-range, 60% поддержки на caniuse
CodePen
Продолжаем следить и изучать 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👍7❤3🔥2🤩2🤡1
Frontend по-флотски 👨💻
Типизированные CSS переменные с @property 🧑🎓 Новый перевод в здании, тема новая и интересная, залетаем 👇 https://habr.com/ru/articles/759818/
This media is not supported in your browser
VIEW IN TELEGRAM
В девтулзах хрома появился просмотр CSS 🥰
Чтобы просмотреть переменную (свойство), в разделе Elements > Styles наведи курсор мыши на имя переменной (свойства) и увидишь его описание во всплывающей подсказке. В целом, всё есть в видео😉
@property
Чтобы просмотреть переменную (свойство), в разделе Elements > Styles наведи курсор мыши на имя переменной (свойства) и увидишь его описание во всплывающей подсказке. В целом, всё есть в видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤🔥7🔥3❤1🥰1🤡1
Bun — ещё один конкурент Node.js и даже больше 👏
На днях вышел первый стабильный релиз Bun 1.0, он написан на языке Zig, заявляет, что в разы быстрее Node.js и даже быстрее Deno
Работает с JS и TS, может напрямую выполнять
Из коробки есть методы для тестирования, пакетный менеджер и бандлер
Официальный сайт
Видео от создателей
GitHub
На днях вышел первый стабильный релиз Bun 1.0, он написан на языке Zig, заявляет, что в разы быстрее Node.js и даже быстрее Deno
Работает с JS и TS, может напрямую выполнять
.jsx
и .tsx
файлыИз коробки есть методы для тестирования, пакетный менеджер и бандлер
Официальный сайт
Видео от создателей
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍3❤2❤🔥2🤡1
Svelte: Знакомство с рунами 🤨
Svelte Team обещает выпустить Svelte 5, а мы смотрим, что там может поменяться и что за руны такие они нам приготовили
https://habr.com/ru/articles/763256/
Svelte Team обещает выпустить Svelte 5, а мы смотрим, что там может поменяться и что за руны такие они нам приготовили
https://habr.com/ru/articles/763256/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Svelte: Знакомство с рунами
Эта статья — перевод оригинальной статьи " Introducing runes ". Также я веду телеграм канал “ Frontend по-флотски ”, где рассказываю про интересные вещи из мира разработки интерфейсов. Вступление...
👍9🤡6❤🔥2❤1🔥1😍1
Вышел Safari 17 🥳
Статья довольно большая, не взялся переводить, решил выписать тезисно:
HTML:
— Новый элемент <search>
— Добавлена поддержка атрибута popover
— Добавлена поддержка
CSS:
— Добавлена поддержка @font-face size-adjust
— Добавлена поддержка
— Добавлена поддержка @counter-style
— Куча фиксов display: contents, расширение Media Queries до level 4
— Улучшение image-set
JS и Web API:
— Полная поддержка Storage API и обновление лимита с 1 ГБ до относительной величины от размера жётского диска пользователя, получить можно через
— Реализованы 2 пропоузала регулярных выражений: v-flg и duplicate named capturing groups
— Новые методы объекта Set
— Появилась возможность использовать хэптик фидбэк на геймпаде:
— Добавлен метод URL.canParse()
— Добавлена поддержка относительных урлов в объекте веб-сокета:👇
https://webkit.org/blog/14445/webkit-features-in-safari-17-0/
Статья довольно большая, не взялся переводить, решил выписать тезисно:
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
👍9❤3🔥2🤡2
Небольшой совет для чистоты кода 🧑🎓
Создание элемента и назначение ему атрибутов при создании, поможет понять состояние элемента сразу на месте, используя
Создание элемента и назначение ему атрибутов при создании, поможет понять состояние элемента сразу на месте, используя
Object.assign
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥61👍49🔥13🤡5❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58👎26🤡6🔥3❤🔥1
Frontend по-флотски 👨💻
Онлайн конференция ViteConf 2023 🥳 Цена: бесплатно Когда: 5-6 октября, 17:00 (UTC+3) Регистрация по ссылочке, бесплатно и без смс 👇 https://viteconf.org/23/
Please open Telegram to view this post
VIEW IN TELEGRAM
viteconf.amsterdam
The Official in-person Vite Conference organised in collaboration with the Creator of Vite, Evan You and Vite Core Team!
👍6❤2❤🔥1👎1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
form-sizing: content — одна строчка для авторесайза textarea 😏
На просторах твиттера нашёл свойство form-sizing, но ни MDN, ни caniuse ничего по нему не выдаёт, проверил, и оно работает в Chrome Canary, будем следить🥺
Хотелось бы уже избавиться от JS костылей для контроля высоты
На просторах твиттера нашёл свойство form-sizing, но ни MDN, ни caniuse ничего по нему не выдаёт, проверил, и оно работает в Chrome Canary, будем следить
Хотелось бы уже избавиться от JS костылей для контроля высоты
textarea
CodePenPlease open Telegram to view this post
VIEW IN TELEGRAM
👍39🔥7❤🔥6❤1👏1
Vue Macros — библиотека хотелок сообщества 🫶
Vue Macros — это библиотека, реализующая пропоузалы или идеи, которые не были официально реализованы в Vue (Evan You в спонсорах)
В большинстве случаев макросы добавляют синтаксический сахар для Vue
Работает с Nuxt 3 и Astro (иногда и с Vue 2), все макросы типизированы и поддерживаются Volar
Официальный сайт
Github
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❤🔥1❤1🥴1
Редизайн Chrome Web store 🥹
Дополнительно появилась возможность перенаправить пользователя по ссылке для оценки твоего расширения (
Также теперь стало возможно заливать более качественные скрины для экстеншенов (1280x800)
Превью дизайна можно потыкать тут
Релиз обещают сделать в ближайшее время (дату не называют)
Дополнительно появилась возможность перенаправить пользователя по ссылке для оценки твоего расширения (
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
)Также теперь стало возможно заливать более качественные скрины для экстеншенов (1280x800)
Превью дизайна можно потыкать тут
Релиз обещают сделать в ближайшее время (дату не называют)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤2❤🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍6👏2❤🔥1❤1🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Если ты анимируешь цифры, то этот пост для тебя 🫣
🤞
caniuse 96% — можно смело использовать в продакшене
font-variant-numeric MDN — узнать подробности и другие значения
font-variant: tabular-nums
— твой спаситель от постоянного дёрганья, одна CSS строчка решит твою проблему caniuse 96% — можно смело использовать в продакшене
font-variant-numeric MDN — узнать подробности и другие значения
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93👍10❤6
Вышел Abell v1 Beta ✍️
Abell — это низкоуровневый, очень гибкий, не зависящий от фреймворка, Vite-генератор статических сайтов для быстрого создания сайтов с нулевым уровнем использования JS по умолчанию.
Почему Abell?
"А что, если мы возьмем хорошие вещи из нескольких типов решений и построим нечто, что будет: низкоуровневым, как Jekyll, Framework Agnostic и интегрируется в современную экосистему, как это делает Astro, имеет меньшую кривую обучения, чем привычный HTML. Abell пытается быть именно таким" — цитата разработчиков
Официальный сайт
Github
Abell — это низкоуровневый, очень гибкий, не зависящий от фреймворка, Vite-генератор статических сайтов для быстрого создания сайтов с нулевым уровнем использования JS по умолчанию.
Почему Abell?
"А что, если мы возьмем хорошие вещи из нескольких типов решений и построим нечто, что будет: низкоуровневым, как Jekyll, Framework Agnostic и интегрируется в современную экосистему, как это делает Astro, имеет меньшую кривую обучения, чем привычный HTML. Abell пытается быть именно таким" — цитата разработчиков
Официальный сайт
Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥2🥱2❤1👎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
Это значение позволяет следить за тем, чтобы абзацы не заканчивались одним словом, корректировать дефисное написание, если в конце абзаца появляются строки с дефисами, или подгонять предыдущие строки, чтобы освободить место, и соответствующим образом исправлять выравнивание текста
Также я уже рассказывал про text-wrap: balance, который не предотвращает появление одиночных переносов, но гарантирует, что текст будет обернут таким образом, чтобы создать гармоничный текстовый блок
caniuse 42%, Работает с Chrome 117+
Подробнее про text-wrap и его значения
Статья про text-wrap: pretty
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤🔥8❤3👻1
Сегодня делал ховера всякие на активные элементы и заметил, что дизайнер использовал цвет не из UI-кита (цвет выглядит просто темнее)
Сразу же вспомнил про SASS darken, но после попытки связать darken и css-vars я сразу понял, что это не выйдет😰
Тут же после пару минут гуглинга понял, что уже могу использовать CSS color-mix (caniuse 83.7%), просто смешиваю мой цвет с чёрным и получается тот же darken
Подробнее про color-mix()
Сразу же вспомнил про SASS darken, но после попытки связать darken и css-vars я сразу понял, что это не выйдет
Тут же после пару минут гуглинга понял, что уже могу использовать CSS color-mix (caniuse 83.7%), просто смешиваю мой цвет с чёрным и получается тот же darken
Подробнее про color-mix()
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Frontend по-флотски 👨💻
CSS color-mix() 🫰
Думаю особо объяснять не надо color = цвет, mix = смешивать
Верно, эта функция смешивает цвета друг с другом
Она принимает 3 параметра:
1. Цветовое пространство (colorspace)
2 и 3 — цвет и процент этого цвета (процент опционально)
Пример…
Думаю особо объяснять не надо color = цвет, mix = смешивать
Верно, эта функция смешивает цвета друг с другом
Она принимает 3 параметра:
1. Цветовое пространство (colorspace)
2 и 3 — цвет и процент этого цвета (процент опционально)
Пример…
👍22🔥6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Мой первый мем, надеюсь, что для кого-то жиза 🥹
Всем продуктивного понедельника❤️
Всем продуктивного понедельника
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣55😁8👍6❤4