Простой способ создания эффекта бесконечной карусели с помощью CSS
Видели ли вы подобную анимацию на сайтах в разделе «Партнеры/клиенты»? Вот простая схема создания этого фальшивого эффекта бесконечной карусели🦆
В качестве дополнительного совета, если вы не хотите дублировать элементы вручную или указывать количество элементов в CSS, вы можете использовать некоторые манипуляции JavaScript DOM и пользовательские свойства CSS (вот пример продвинутой реализации)
➡️ @FrontendPortal | #tutorial #OldButGold
Видели ли вы подобную анимацию на сайтах в разделе «Партнеры/клиенты»? Вот простая схема создания этого фальшивого эффекта бесконечной карусели
В качестве дополнительного совета, если вы не хотите дублировать элементы вручную или указывать количество элементов в CSS, вы можете использовать некоторые манипуляции JavaScript DOM и пользовательские свойства CSS (вот пример продвинутой реализации)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤40👍26🔥10🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел React Email 5.0
Лучший способ создавать email-шаблоны с помощью React.
✓ Теперь с поддержкой тёмного режима
✓ Совместимость с Tailwind 4
✓ 8 новых компонентов
Предпросмотр, линтер и многое другое:
→
➡️ @FrontendPortal | #resourse
Лучший способ создавать email-шаблоны с помощью React.
✓ Теперь с поддержкой тёмного режима
✓ Совместимость с Tailwind 4
✓ 8 новых компонентов
Предпросмотр, линтер и многое другое:
→
npx create-email@latestPlease open Telegram to view this post
VIEW IN TELEGRAM
👍37❤15💊5🔥4😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Swapy
Это инструмент для создания drag-and-drop интерфейсов всего за пару строк кода
Работает с любым фреймворком: React, Vue, Angular, Svelte или даже без них.
Гибко настраивается, позволяет выделять слоты и элементы для перетаскивания, добавлять анимации, и отслеживать изменения.
Лёгкий в установке и супер понятный в использовании.
➡️ @FrontendPortal | #resourse
Это инструмент для создания drag-and-drop интерфейсов всего за пару строк кода
Работает с любым фреймворком: React, Vue, Angular, Svelte или даже без них.
Гибко настраивается, позволяет выделять слоты и элементы для перетаскивания, добавлять анимации, и отслеживать изменения.
Лёгкий в установке и супер понятный в использовании.
npm install swapy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47❤18🔥6🤔3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Создание липкого заголовка в СSS
Блоки с «липким» позиционированием ведут себя как
Пока блок не достиг указанного расстояния от края окна браузера, он ведёт себя как относительно спозиционированный. Когда блок достигнет этой точки, то станет вести себя, как будто мы указали position: fixed
Когда таких заголовков несколько, они накладываются друг на друга, и пользователю виден последний из них
➡️ @FrontendPortal | #CSS #tutorial
Блоки с «липким» позиционированием ведут себя как
position: relative и position: fixed одновременноПока блок не достиг указанного расстояния от края окна браузера, он ведёт себя как относительно спозиционированный. Когда блок достигнет этой точки, то станет вести себя, как будто мы указали position: fixed
Когда таких заголовков несколько, они накладываются друг на друга, и пользователю виден последний из них
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45❤17🔥7💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Действительно классный гайд по тому, как прокачать навык работы с дейтпикерами в JS
Ты найдёшь примеры, понятные объяснения и отличный визуальный формат, который помогает разобраться во всех тонкостях создания дейтпикеров на чистом JavaScript.
Читайте здесь👍
➡️ @FrontendPortal | #article
Ты найдёшь примеры, понятные объяснения и отличный визуальный формат, который помогает разобраться во всех тонкостях создания дейтпикеров на чистом JavaScript.
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤12💯3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Ленивая загрузка автоматически воспроизводимых видео, которые находятся ниже первого экрана
Установите
Посмотреть это в действии: тык
➡️ @FrontendPortal | #tip by Shripal Soni
Установите
preload="none" и удалите атрибут autoplay у видео, чтобы оно не загружалось по умолчанию. Затем, используя API Intersection Observer, мы можем воспроизводить видео, когда оно становится видимым в области просмотраПосмотреть это в действии: тык
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤15🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
ThiingsGrid
Высокопроизводительный компонент бесконечной прокрутки для React, который обеспечивает плавные взаимодействия через тач или мышь с инерционным скроллингом.
Подходит для отображения больших наборов данных в виде сетки с кастомными рендерами ячеек✌️
GitHub: thiings-grid
➡️ @FrontendPortal | #resourse
Высокопроизводительный компонент бесконечной прокрутки для React, который обеспечивает плавные взаимодействия через тач или мышь с инерционным скроллингом.
Подходит для отображения больших наборов данных в виде сетки с кастомными рендерами ячеек
GitHub: thiings-grid
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤9💊3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Broadcast Channel API
Broadcast Channel API позволяет контекстам браузера (browser contexts) обмениваться данными друг с другом. К браузерным контекстам относятся такие элементы, как окно, вкладка, iframe и т.д.
По причинам безопасности контексты, обменивающиеся данными, должны принадлежать одному источнику (same origin). Один источник означает одинаковый протокол, домен и порт
➡️ @FrontendPortal | #js
Broadcast Channel API позволяет контекстам браузера (browser contexts) обмениваться данными друг с другом. К браузерным контекстам относятся такие элементы, как окно, вкладка, iframe и т.д.
По причинам безопасности контексты, обменивающиеся данными, должны принадлежать одному источнику (same origin). Один источник означает одинаковый протокол, домен и порт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30👍14🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивный конструктор border-radius
Нашёл сайт, где можно поэкспериментировать с border-radius и скопировать готовые значения в свой CSS-код
Генерируются сразу 8 значений для border-radius. Также можно настроить размер элемента
Тестируем здесь✌️
➡️ @FrontendPortal | #resourse
Нашёл сайт, где можно поэкспериментировать с border-radius и скопировать готовые значения в свой CSS-код
Генерируются сразу 8 значений для border-radius. Также можно настроить размер элемента
Тестируем здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤36🔥21👍4💯3
This media is not supported in your browser
VIEW IN TELEGRAM
Наконец-то! Node теперь может выполнять TypeScript-файлы
Стабильно, без конфигурации и без зависимостей
Доступно начиная с версий 22.18.0 и 25.2.0.
➡️ @FrontendPortal
Стабильно, без конфигурации и без зависимостей
Доступно начиная с версий 22.18.0 и 25.2.0.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤61🔥48👍16🌚6🤔4😁2🤯2🏆2😎2
This media is not supported in your browser
VIEW IN TELEGRAM
HTML Tip: Самый простой способ отключить несколько элементов формы
Мы можем установить атрибут
➡️ @FrontendPortal | #tip by Shripal Soni
Мы можем установить атрибут
disabled на элемент <fieldset>, чтобы автоматически отключить все вложенные элементы формы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍44❤16
Cвойство object-fit
Свойство, которое позволяет управлять тем, как картинка
По своему поведению очень похоже на свойство
➡️ @FrontendPortal | #CSS #OldButGold
Свойство, которое позволяет управлять тем, как картинка
<img> или видео <video> будет подстраиваться под заданные размеры.По своему поведению очень похоже на свойство
background-size для фоновых изображенийPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤39👍14😁2🔥1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Определяем, когда пользователь переключает вкладки браузера и меняем favicon
Этот трюк можно реализовать с помощью Page Visibility API
➡️ @FrontendPortal | #tip #js
Этот трюк можно реализовать с помощью Page Visibility API
Page Visibility API — это API браузера, который проверяет видимость страницы. Он помогает определять, скрыта или свернута текущая страница, и тем самым позволяет контролировать ее поведение и использование ресурсов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73❤16👍13🏆2
This media is not supported in your browser
VIEW IN TELEGRAM
Огромная коллекцию из 1500+ отобранных API для ваших проектов, от погоды и карт до генераторов картинок и NLP-сервисов
Забираем с сайта или с GitHub🍯
➡️ @FrontendPortal | #resourse
Забираем с сайта или с GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤52👍16