🌗 Автоматическая темная тема без медиазапросов
Вместо
➰ Что это дает:
— Автоматическое переключение темы по системным настройкам
— Скроллбары, инпуты и формы тоже меняют стиль
— Меньше кода и больше нативности
⚙️ Поддержка: Chrome 120+, Safari 17+, Firefox 120+
🐸 Библиотека фронтендера
#readme #css
Вместо
@media (prefers-color-scheme)
можно использовать color-scheme:
:root {
color-scheme: light dark;
background: light-dark(#fff, #111);
color: light-dark(#111, #fff);
}
— Автоматическое переключение темы по системным настройкам
— Скроллбары, инпуты и формы тоже меняют стиль
— Меньше кода и больше нативности
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤4👍2
Иногда после API-запроса или сборки данных в объекте куча undefined — их не видно, но они мешают при сериализации, сравнении и логах.
const clean = obj => Object.fromEntries(
Object.entries(obj).filter(([_, v]) => v !== undefined)
);
— пробегается по всем парам [ключ, значение],
— выкидывает те, где значение undefined,
— возвращает новый “чистый” объект.
clean({ name: 'Alex', age: undefined, city: 'Berlin' });
// => { name: 'Alex', city: 'Berlin' }
— перед отправкой данных на сервер,
— при сборке форм,
— при логировании чистых JSON.
const clean = obj =>
Object.fromEntries(
Object.entries(obj)
.filter(([_, v]) => v !== undefined)
.map(([k, v]) => [k, v && typeof v === 'object' && !Array.isArray(v) ? clean(v) : v])
);
— рекурсивно чистит вложенные объекты,
— не трогает массивы,
— остаётся компактной и читаемой.
#readme #js
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2
html_cheat_sheet.png
596.5 KB
Всё от базовой структуры до таблиц, форм, списков и современных тегов разметки.
#readme #html
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2😁2
🧩 Как вернуть случайно удалённую ветку
Удалили локальную ветку — и поняли, что в ней были нужные коммиты? Не спешим паниковать — если она ещё жива в origin, всё можно вернуть одной командой:
🔤 Что произойдёт:
— Git скачает ветку с origin
— Восстановит её локально с тем же именем
— Вся история коммитов сохранится
🐸 Библиотека фронтендера
#readme #git
Удалили локальную ветку — и поняли, что в ней были нужные коммиты? Не спешим паниковать — если она ещё жива в origin, всё можно вернуть одной командой:
git fetch origin refs/heads/feature-branch:refs/heads/feature-branch
— Git скачает ветку с origin
— Восстановит её локально с тем же именем
— Вся история коммитов сохранится
#readme #git
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🌚4
Делаем отступы адаптивными без медиазапросов — пусть дизайн сам подстраивается под ширину экрана:
.section {
padding: clamp(1rem, 5vw, 3rem);
}
Что это дает:
— Минимальный отступ — 1rem, максимум — 3rem
— В промежутке — плавное масштабирование по ширине вьюпорта
— Один рядок кода вместо трёх
@media
Сейчас на курсы Proglib действует −40%
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5
Вместо :invalid, который срабатывает сразу, используйте :user-invalid.
Что это дает:— Валидация срабатывает только после взаимодействия с полем
— Не показываем ошибки в пустой форме при загрузке
— Лучший UX без дополнительного JS
Сейчас на курсы Proglib действует −40%
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥2🥰2