CSS isolation — ізоляція від режимів змішування


CSS властивість isolation зі значенням isolate створює новий контекст накладання: режими змішування нащадків перестають бачити те, що поза контейнером.

автор: NagarD

Загальний опис

Без ізоляції mix-blend-mode змішується з усім, що лежить під елементом — включно з тлом сторінки. Звідси класичний баг: ефект, задуманий для фото всередині картки, «просвічує» крізь картку й реагує на колір сторінки.

isolation: isolate на контейнері ставить стіну: змішування працює лише з шарами всередині нього.

Властивість створена саме для цього випадку, але новий контекст накладання дає й побічну користь: z-index нащадків більше не конкурує із зовнішніми елементами.

автор: NagarD

Наслідує: Ні
Анімується: Ні

Переглядачі

Переглядачів ще не додано.

Приклади

+ запропонувати свій приклад у пісочниці

Ефект замкнено всередині картки — тло сторінки не бере участі.

HTML

<div class="card">
    <div class="shape"></div>
</div>

CSS

body { background: gold; }

.card {
    background: #fff;
    padding: 2rem;
    /* без цього shape змішувався б і з golden-тлом сторінки */
    isolation: isolate;
}

.shape {
    width: 80px;
    height: 80px;
    background: #0172ad;
    mix-blend-mode: difference;
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід