В этой шпаргалке собраны основные приёмы работы с Fetch API: выполнение запросов, обработка ответов, парсинг данных, проверка статусов, отмена через AbortController, а также использование объектов Request, Response и Headers. Fetch API — это способ выполнять HTTP-запросы без лишнего кода и сторонних библиотек.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤10👍6🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Это не просто учебник, а визуальная карта: ты вводишь тему, и сразу видишь список лучших ресурсов для погружения. Можно строить свой путь обучения. А ещё всё открыто и развивается сообществом. Отлично подходит, если не хочешь тратить время на бесконечный поиск информации.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍10❤9🤝1
CSS умеет отслеживать, какой блок сейчас в зоне видимости:
section {
view-timeline-name: --reveal;
animation-timeline: --reveal;
animation-name: fade;
}Создаём временную шкалу для каждого блока при скролле.
Теперь можно анимировать появление или подсветку:
@keyframes fade {
0% { opacity: 0.2; }
50% { opacity: 1; }
100% { opacity: 0.2; }
}Эффект: блок становится ярче, пока он в центре экрана, и тускнеет, когда уходит за пределы вьюпорта.
Можно добавить плавный переход:
section {
transition: opacity 0.3s ease;
}Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍12❤10
Привет! В этом гайде создаём аккуратный мини-виджет для выбора суммы с плавной анимацией числа, удобным ползунком и набором готовых значений.
Ключевые моменты:
• HTML: базовая разметка — крупное число, ползунок и кнопки значений.
• CSS: чистое и минималистичное оформление, понятная структура и мягкие акценты.
• JS: плавная анимация изменения суммы и синхронизация ползунка с кнопками выбора.
Такой элемент отлично подойдёт для калькуляторов, тарифов и любых интерфейсов, где пользователю нужно быстро выбрать диапазон суммы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥12👍7🤝3😁1
Тег
<colgroup> используется в таблицах, чтобы объединить несколько колонок и задать им общие стили: ширину, цвет фона, скрытие и другое.Можно использовать свойства:
• width;
• background;
• background-color;
• visibility;
• border / border-* (только при border-collapse: collapse).
Работает в паре с тегом
<col>, через который и задаются конкретные стили колонкам.Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥10👍7🤝3
Воспроизводим звук по клику — без библиотек!
Хотите добавить отзывчивости интерфейсу? Сегодня разбираем как реализовать звук клика.
Шаг 1 — создаём звук:
Шаг 2 — проигрываем при клике:
Шаг 3 — можно на конкретную кнопку:
🔥 Работает с основными форматами (
📣 Code Ready | #практика
Хотите добавить отзывчивости интерфейсу? Сегодня разбираем как реализовать звук клика.
Шаг 1 — создаём звук:
const clickSound = new Audio('/sounds/click.mp3');Шаг 2 — проигрываем при клике:
document.addEventListener('click', () => {
clickSound.currentTime = 0; // перезапуск
clickSound.play().catch(() => {}); // защита от блокировки
});Шаг 3 — можно на конкретную кнопку:
const popSound = new Audio('/sounds/pop.mp3');
document.querySelector('#btn').addEventListener('click', async () => {
try {
popSound.currentTime = 0;
await popSound.play();
} catch (_) {}
});🔥 Работает с основными форматами (
.mp3, .wav). Браузер обычно кэширует звук, но первое воспроизведение может занять долю секунды.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤9👍8🤝3👎1
В этой шпаргалке - основные функции объекта Math, применяемые для округления, извлечения целых частей, определения знаков и вычисления минимальных и максимальных значений. Это базовые операции, на которых держатся корректные числовые вычисления в приложениях.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍14❤7🤝2
Если один и тот же компонент в разных блоках требует разные отступы, можно использовать
:where()::where(.card, .section, .block) h2 {
margin-block: 0.5em 1em;
}:where() не повышает специфичность, поэтому можно переопределять стиль дальше, без !important.Теперь можно задавать глобальные отступы для семантики, а локальные спокойно перебивать:
.hero h2 {
margin-block: 2em 1em;
}А чтобы ограничить стили только внутри компонента, объединим
:where() с контейнером:.card :where(h2, h3, p) {
margin-block: 0.7em;
}.card получает аккуратные отступы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤12🤝10