This media is not supported in your browser
VIEW IN TELEGRAM
На сайте можно учиться прямо в браузере, без установки среды и лишней теории. Уроки состоят из коротких заданий с кодом: пишешь, видишь результат, работаешь над ошибками и двигаешься дальше. Постепенно проходишь весь путь, от основ синтаксиса до работы с DOM и API.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥7🤝7❤2😁1
Привет! В этом гайде создаём удобное текстовое поле, в котором при вводе появляется кнопка для мгновенной очистки содержимого.
Ключевые моменты:
• HTML: textarea и кнопка внутри одного контейнера.
• CSS: позиционирование кнопки, плавное появление, аккуратный дизайн.
• JS: отслеживание ввода, показ/скрытие кнопки и очистка текста.
Такое решение отлично подойдёт для форм, чатов и любых интерфейсов, где важно быстро очищать текст без перезагрузки страницы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍9🔥8🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
Это не демо и не учебный «туду-лист», а полноценная платформа с продуманной архитектурой и современным стеком: React, TypeScript, Redux Toolkit, React Hook Form, FSD.
Можно изучить каждую страницу, каждый компонент, посмотреть, как устроен код в боевом проекте, и забрать себе лучшие практики!
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥9🤝7
CSS уже умеет подстраивать размеры элементов без
@media.Для этого есть инструмент
clamp():.title {
font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem);
}clamp(min, preferred, max) задаёт диапазон: шрифт будет плавно меняться вместе с шириной экрана,но никогда не станет меньше 1rem и больше 2.5rem.
Работает для свойств, где можно задавать числовые значения:
.container {
padding: clamp(1rem, 5vw, 3rem);
}Для ещё большей гибкости можно использовать контейнерные единицы (
cqw, @container), они подстраиваются под ширину контейнера, а не всего окна.Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥12🤝7❤3
Разбираем методы history и location, с помощью которых можно изменять URL без перезагрузки страницы, добавлять и заменять состояния, перемещаться по истории и отслеживать переходы. Используется для реализации маршрутизации, клиентской навигации и синхронизации состояния приложения с адресной строкой в SPA и веб-интерфейсах.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥11👍10🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Project Manager — позволяет переключаться между разными проектами внутри одного экземпляра VS Code. Просто откройте боковую панель и выберите нужный. Можно группировать, давать имена, закреплять самые частые, всё максимально просто и быстро.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥11❤7
Определяем системную тему пользователя!
Современные браузеры умеют определять системные предпочтения пользователя — например, светлую или тёмную тему. Это позволяет интерфейсу автоматически адаптироваться под окружение без лишних настроек.
Проверим текущие настройки:
Реагируем на изменение темы:
И сразу применяем тему при загрузке:
🔥 Такой пример полезен для практики работы с браузерными API, реакцией на системные события и динамическим управлением интерфейсом.
📣 Code Ready | #практика
Современные браузеры умеют определять системные предпочтения пользователя — например, светлую или тёмную тему. Это позволяет интерфейсу автоматически адаптироваться под окружение без лишних настроек.
Проверим текущие настройки:
const isDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
console.log(isDark ? "🌙 Тёмная тема" : "☀️ Светлая тема");Реагируем на изменение темы:
const mq = window.matchMedia("(prefers-color-scheme: dark)");
mq.addEventListener("change", e => {
document.body.dataset.theme = e.matches ? "dark" : "light";
console.log(`🎨 Тема: ${e.matches ? "dark" : "light"}`);
});И сразу применяем тему при загрузке:
document.body.dataset.theme = isDark ? "dark" : "light";
🔥 Такой пример полезен для практики работы с браузерными API, реакцией на системные события и динамическим управлением интерфейсом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍11🔥9
Все размеры заданы в rem?
Значит, масштабировать дизайн можно одним изменением:
html {
font-size: 62.5%; /* 1rem = 10px при базовых 16px */
}Хочешь увеличить всю страницу на 20% — достаточно поменять одно значение:
html {
font-size: 75%;
}Всё: шрифты, отступы, кнопки, автоматически подстроятся, если их размеры заданы в rem:
h1 {
font-size: 2.4rem; /* 24px при font-size:10px */
}
.button {
padding: 1.2rem 2rem;
}Подходит для дизайн-систем, адаптива и гибкой настройки интерфейса под пользователя.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍11❤10🤝1
Хотите добавить на сайт мини-анимацию заряда без скриптов? Этот приём наглядно показывает, как работают
@keyframes и плавные переходы между цветами.Принцип работы:
• Контейнер батареи создаётся с помощью border и border-radius;
• Внутри него элемент .charge, который заполняется снизу вверх;
• Анимация@keyframesbattery меняет высоту и цвет по мере «зарядки».
Пригодится для лендингов, дашбордов, экранов загрузки или просто визуальных эффектов в UI.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥14❤10🤝3
Методы и объекты File, Blob, FormData и URL, с помощью которых можно получать и читать файлы, создавать собственные, формировать бинарные данные и генерировать временные ссылки. Используется для реализации загрузки, предпросмотра и генерации файлов на клиенте.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥11❤7