Понимание критического пути рендеринга: DOM, CSSOM, Render Tree.
Интерактивный инструмент, показывающий, какие свойства CSS вызывают перерасчёт layout и перерисовку.
Разбираем, как движок V8 оптимизирует JS через hidden classes и inline caching.
Как работает Event Loop, микротаски и макротаски, и что это значит для асинхронного JS.
Почему новые протоколы HTTP ускоряют загрузку страниц и улучшают UX.
#under_hood #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1
Медиазапросы хороши, но часто усложняют каскад. Современный CSS позволяет адаптировать сетку контекстно, без
@media
.
.card-grid {
display: grid;
gap: 1rem;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
transition: .3s;
}
.card-grid:has(.expanded) { grid-template-columns: 1fr; }
.card-grid:has(.card:hover) .card:not(:hover) {
opacity: .4;
transform: scale(.98);
filter: blur(1px);
}
— Контейнер, «реагирующий» на состояние внутренних элементов,
— Адаптивные layout-переходы без JS и без медиазапросов,
— Гибкость, пригодную для UI-эффектов, collapsible-контента и интерактивных сеток.
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Изящная форма с мягкими микровзаимодействиями и реалистичной анимацией переворота при вводе CVV.
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1🥱1
🌗 Автоматическая темная тема без медиазапросов
Вместо
➰ Что это дает:
— Автоматическое переключение темы по системным настройкам
— Скроллбары, инпуты и формы тоже меняют стиль
— Меньше кода и больше нативности
⚙️ Поддержка: 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
Делаем отступы адаптивными без медиазапросов — пусть дизайн сам подстраивается под ширину экрана:
.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