TGViewer
Senior Frontend - javascript, html, css Senior Frontend - javascript, html, css @seniorfront · 23.8K subscribers
Post #5853 831
🔍 Почему overflow: hidden не удерживает размытие

Свойство backdrop-filter: blur() размывает всё, что видно сквозь полупрозрачный элемент. Так делают эффект матового стекла. Снимок фона браузер берёт из готовой GPU-текстуры (compositing layer), а не из DOM. Кто чей родитель, ему неважно.

В статье есть живой пример. Карточки с blur(70px) лежат в scroll-контейнере с overflow: hidden, а снаружи стоит яркая кнопка PLAY. Карточка подъезжает к кнопке ближе чем на 70px и начинает светиться её цветом.

Дело в том, что overflow: hidden обрезает на этапе paint, а размытие работает позже, на этапе composite. Помогает clip-path: inset(0) на контейнере: автор называет его единственным надёжным способом.

Только помните, что clip-path обрежет всё содержимое контейнера, включая дочерние элементы, которые выходят за его край.

В статье ещё три бага в Safari и на iPhone и разбор, почему большой радиус blur так дорого обходится GPU.

👉 @seniorFront
  • ❤ 1
More from @seniorfront
  1. Oct 10, 2026Post #5854
  2. Oct 8, 2026🔑 Обработчик postMessage без проверок слушается кого угодно Виджет в iframe (комментарии,…
  3. Oct 7, 2026📐 Как заменить CSS progress(), пока его поддерживают не везде Функция progress() показыва…
  4. Oct 6, 2026📜 Страница скроллится, а window.scrollY показывает 0 У каждой страницы есть главный конте…
  5. Oct 5, 2026✨ Одна и та же CSS-переменная может дать 1, а может 2 Кастомные свойства вроде --index по…
  6. Oct 2, 2026🎉 iframe, который сам подстраивается под содержимое Обычно у <iframe> фиксированный разме…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →