Code Ready | Frontend – Telegram
Code Ready | Frontend
22.2K subscribers
1.07K photos
447 videos
17 files
712 links
Авторский канал по Frontend разработке.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

РКН: https://clck.ru/3NJCKs

Реклама на бирже: https://telega.in/c/code_ready
Download Telegram
📱 Предпросмотр изображения при загрузке файла!

Привет! В этом гайде создаём простой компонент загрузки изображений с предпросмотром, проверкой типа файла и ограничением по размеру.

Ключевые моменты:
• HTML: файловый input, зона загрузки и блок предпросмотра.

• CSS: центрирование, карточный UI, аккуратные тени и отступы.

• JS: обработка выбора файла, проверка MIME-типа и размера, работа с Object URL.


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

📣 Code Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍9🤝9👎1😁1
📂 Напоминалка по HTML <input> типам!

Например, type="email" автоматически включает базовую валидацию e-mail, а type="date", type="time" и type="range" дают нативные контролы без лишнего JS.

На картинке — часто используемые типы <input>, которые стоит держать под рукой.

Сохрани, чтобы не забыть!

📣 Code Ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥12🤝10
👩‍💻 Устанавливаем несколько разрешений и типов фонового изображения!

CSS-функция image-set() позволяет перечислить несколько фоновых изображений с условиями, по которым браузер решит, какое из них наиболее подходящее для загрузки в данный момент.

Примеры использования:
Загрузка @1x / @2x / @3x изображений для Retina-экранов;

Выбор более лёгкого изображения для обычных дисплеев;

Указание альтернативных форматов (webp / avif) с фолбэком.


Конечно, есть тег <picture>, но если изображение декоративное, будет правильнее установить его как фон элемента.

📣 Code Ready | #свойство
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥10🤝82
📱 Web Storage API — клиентское хранилище браузера!

В этой шпаргалке собраны основные методы Web Storage API (localStorage и sessionStorage) для работы с простым key-value хранилищем на стороне клиента. Здесь показано, как сохранять, читать и удалять данные, корректно сериализовывать объекты, очищать хранилище, а также реагировать на изменения данных между вкладками с помощью события storage в прикладных сценариях.

📣 Code Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍11🤝101
👩‍💻 Задаем пропорции элементов одной строкой!

Раньше, чтобы сохранить пропорции блока (карточки, превью, видео), писали так:
.preview {
position: relative;
padding-top: 56.25%;
}


Работает, но сложно читать, неудобно поддерживать.

Современный CSS решает это одной строкой:
.preview {
aspect-ratio: 16 / 9;
}


Браузер сам поддерживает пропорции элемента без абсолютного позиционирования и костылей.

Чтобы контент внутри не ломал пропорции:
.preview img {
width: 100%;
height: 100%;
object-fit: cover;
}


🔥 Идеально для карточек, галерей, видео, skeleton-экранов

📣 Code Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍1411
This media is not supported in your browser
VIEW IN TELEGRAM
👍 React Bits — готовые анимации и UI-эффекты!

Это коллекция интерактивных UI-эффектов, анимаций текста и компонентов для React. Здесь можно найти современные визуальные решения для hero-блоков, заголовков, интро и интерфейсных акцентов. Код аккуратный, легко читается и быстро интегрируется в собственные проекты.

📌 Оставляю ссылочку: reactbits.dev

📣 Code Ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1811🔥9
👩‍💻 Двухслойная карточка с эффектом сборки!

В этой фишке карточка состоит из двух слоёв, которые изначально разнесены по оси Y, а при наведении плавно сходятся в единую плоскость.

Как работает:
Карточка выступает контейнером-триггером для hover;

Два слоя позиционируются абсолютно и физически разведены через transform;

При наведении transform сбрасывается в 0, и слои сходятся;

Один hover управляет сразу несколькими элементами, без дублирования логики.


Приём хорошо масштабируется: подходит для карточек сервисов, профилей, feature-блоков и любых grid-раскладок.

📣 Code Ready | #фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍1211
📂 Напоминалка по CSS positioning!

Например, position: relative позволяет смещать элемент относительно его обычного положения, а position: absolute — позиционировать элемент внутри ближайшего спозиционированного родителя.

На картинке — 5 значений position, которые нужно уверенно понимать при верстке и работе с layout’ами.

Сохрани, чтобы не забыть!

📣 Code Ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍12🤝81
Утилита для работы с URL-параметрами!

Вынесение фильтров и состояния в URL улучшает навигацию и восстановление страницы. Ниже — компактный инструмент для работы с query-строкой.

Разбираем строку запроса в объект:
function parseQuery(query = location.search) {
return Object.fromEntries(new URLSearchParams(query));
}


URLSearchParams
обеспечивает корректную обработку спецсимволов и предсказуемый парсинг — особенно важно при динамических параметрах.

Формируем query-строку из объекта:
function toQuery(obj) {
return "?" + new URLSearchParams(obj).toString();
}


Это упрощает управление состоянием интерфейса и повышает устойчивость навигации.

Читаем параметры: пример, как быстро получить состояние фильтров или любой другой конфигурации из строки URL — удобно при инициализации страницы или восстановлении состояния.
const params = parseQuery("?page=2&sort=asc");
console.log(params);
// → { page: "2", sort: "asc" }


Создаём новый URL:
const next = toQuery({ page: 3, sort: "desc" });
console.log(next);
// → "?page=3&sort=desc"


🔥 Функции подходят для фильтров, пагинации, состояния таблиц, сохранения пользовательских настроек и формирования shareable-ссылок.

📣 Code Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍12🤝8😁2
🔥168👍8
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Можно ли анимировать элемент при его первом появлении на странице?

Директива @starting-style позволяет задать начальные стили для элемента в момент его появления на странице.

Как это работает:
Браузер применяет стили из @starting-style только в момент появления элемента;

Затем элемент плавно переходит к основным стилям;

Отлично работает с transition, без JavaScript.


Полезно для анимаций модальных окон, всплывающих блоков и динамически добавляемых элементов, когда важен плавный вход в интерфейс.

📣 Code Ready | #свойство
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10🤝9
📂 Напоминалка для работы с DOM!

DOM — это то, через что JavaScript управляет HTML: ищет элементы, создаёт новые узлы, вешает события и реагирует на действия пользователя.

На картинке — базовые методы document и node, а также самые часто используемые события мыши, клавиатуры и форм.

Сохрани, чтобы не забыть!

📣 Code Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍13🤝8