Друкарня від WE.UA

Як зробити дірку у <div> або трошки про mix-blend-mode

В нашій компанії почали оновлювати апку ну і звичайно оновлювати дизайни. Приходять якось дизайнири і кажуть: Ми тут думали думали і придумали от такий от модал:

дизайн який має бути

Що ж тут такого модал як модал але не все так просто. Середня частина модала має бути також прозорою і там мають проявлятися обриси бекграунду сайту.

Для прикладу не будемо створювати прям аж такий таки модал, а спрощений. Отже HTML буде виглядати так:

<div class="modal">
  <div class="header">
    <span class="header-text">
      Some text
    </span>
    <span class="close-button">&#x2715;</span>
  </div>
  <div class="content">
    <p>
      Some content
    </p>
  </div>
</div>

Базовий CSS наступний:

.modal {
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(50px);
  max-width: 400px;
  max-height: 600px;
  padding: 8px;
  gap: 8px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

.header-text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  padding-right: 8px;
}

.close-button {
  color: #fff;
}

.content{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 16px;
  align-self: stretch;
  border-radius: 8px;
  padding: 8px;
  background-color: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(50px);
  color: #fff;
  height: 200px;
}

Картнка для бекграунду довільна. Кольори для модалу взяті з мокапів дизайнерів у фігмі і мають бути саме такі. А то потім прийде страшний QA і скаже що у вас колір не той.

Результат маємо наступний:

перша спроба

Бачимо що центральний дів в нас не прозорий і не дуже світлий незважаючи на те що він білий. Що ж нам робити що б нас не побили дизайнери і QA?

На допомогу нам прийде mix-blend-mode.

Що таке mix-blend-mode? MDN нам каже що це властивість яка встановлює, як вміст елемента має поєднуватися з вмістом батьківського елемента та фоном елемента.

mix-blend-mode має безліч варіантів:

mix-blend-mode: normal;
mix-blend-mode: multiply;
mix-blend-mode: screen;
mix-blend-mode: overlay;
mix-blend-mode: darken;
mix-blend-mode: lighten;
mix-blend-mode: color-dodge;
mix-blend-mode: color-burn;
mix-blend-mode: hard-light;
mix-blend-mode: soft-light;
mix-blend-mode: difference;
mix-blend-mode: exclusion;
mix-blend-mode: hue;
mix-blend-mode: saturation;
mix-blend-mode: color;
mix-blend-mode: luminosity;

Деякі зних схожі на фільтри в інстаграмі і можна робити прикольні фони.

Нам буде потрібен mix-blend-mode:lighten;

Для того що б виправити наш модал ми огортаємо наш контент модалу у ще один <div> і отримаємо

<div class="cover">
   <div class="content">
       <p>
          Some content
       </p>
   </div>
 </div>

Далі робимо бекграунд прозорим і додаємо наш mix-blend-mode.

.cover{
  background: transparent;
  mix-blend-mode: lighten;
}

І отримаємо наш бажаний прозорий фон контенту.

фінал

Кольори бекграунду зміксовані так що фактично в нас тепер посерд діву “прозора дірка” через яку ми бачимо обриси бекграунду, а зверху той колір який просили нас дизайнери.

Не виключаю що є і інші варіанти це зробити, але сьогодні про такий метод досягти бажаного.

П.С.

Ніколи ще не писала статті про свою роботу так що перший млинець може бути комом.

Статті про вітчизняний бізнес та цікавих людей:

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
О
Олександра@olexandra_im

222Прочитань
5Автори
7Читачі
На Друкарні з 6 травня

Більше від автора

Це також може зацікавити:

  • Які книги з JavaScript слід читати у 2024 році?

    Чому варто вивчати JavaScript у 2024 році? Які книги обрати для вивчення цієї мови програмування? У цій статті ми розглядаємо ключові аргументи на користь вивчення JavaScript у 2024 році та поділимося переліком ресурсів, які допоможуть вам у цьому.

    Теми цього довгочиту:

    Javascript
  • 5 способів покращити ваш бізнес-сайт у 2023 році

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

    Теми цього довгочиту:

    Веб-сайт
  • Як виводити у консолі смайли із застосуванням emoji?

    У цій статті ми розберемося як виводити у консолі не лише текст, а й емоджі та, також, розглянемо функції для роботи з ними. Тож, для цього ми будемо використовувати бібліотеку emoji, яка дозволяє працювати з різного роду смайлами.

    Теми цього довгочиту:

    Програмування

Коментарі (3)

дуже цікаво, дякую) перший раз чую про таку специфічну css властивість

Це також може зацікавити:

  • Які книги з JavaScript слід читати у 2024 році?

    Чому варто вивчати JavaScript у 2024 році? Які книги обрати для вивчення цієї мови програмування? У цій статті ми розглядаємо ключові аргументи на користь вивчення JavaScript у 2024 році та поділимося переліком ресурсів, які допоможуть вам у цьому.

    Теми цього довгочиту:

    Javascript
  • 5 способів покращити ваш бізнес-сайт у 2023 році

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

    Теми цього довгочиту:

    Веб-сайт
  • Як виводити у консолі смайли із застосуванням emoji?

    У цій статті ми розберемося як виводити у консолі не лише текст, а й емоджі та, також, розглянемо функції для роботи з ними. Тож, для цього ми будемо використовувати бібліотеку emoji, яка дозволяє працювати з різного роду смайлами.

    Теми цього довгочиту:

    Програмування