ZorNet.Ru — сайт для вебмастера » JavaScript и jQuery » Анимация модального окна в CSS и JavaScript

Анимация модального окна в CSS и JavaScript

Анимация модального окна в CSS и JavaScript
В данной теме представлена статья с материалом, это про создание всплывающего модального окна на HTML, CSS и JavaScript для тематического сайта. Из этого мануала вы узнаете и безусловно научитесь, как создать с красивым эффектом всплывающее модальное окно, что будет идти при HTML, CSS и безусловно JavaScript для красивого закрытие окна и всего функционала модального окна. Что касается данного материала, если вы хотите создать всплывающее окно, где к примеру будет описание или картинки на HTML и CSS, то остается только произвести клик на ссылку, что идет в виде кнопки.

А значит вы можете самостоятельно при помощи стилистике подогнать тот оттенок цвета, который будет полностью соответствовать дизайн сайта. Что про эффект, то его можно увидеть при закрытии, а вот открытие идет стандартное появление по центру. Данное модальное окно появится после того, как мы нажмем кнопку, которая будет доступна до перехода в это модальное окно. Мы можем закрыть это окно, просто, это нажать на кнопку, что будет слита с дизайном, но и также тени, они хоть небольшие, но специально сделаны для светлого формата.

В стилях делаем шире или уже под свой размер, а также под описание или форму фхода. Так как это как аналогичный блок сайта, где можно разместить от поиска сайта до снимков.

Красивое модальное окно с раскрытием

Установка:

HEAD - шрифтовые кнопки:

Код
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css"/>

HTML

Код
<section>
  <button class="modnoye_okoshko">Показать модальное окно</button>
  <span class="askoevno_kigas"></span>

  <div class="psamolun_ademubid">
  <i class="fa-regular fa-circle-check"></i>
  <h2>Завершено</h2>
  <h3>Интересные решения для вебмастера в создание и продвижение сайтов,
используя HTML и CSS с оригинальным способом графического дизайна.</h3>

  <div class="kilopbcas">
  <button class="asetyn_milodsa">Хорошо, закрыть</button>
  <button>Открыть файл</button>
  </div>
  </div>
  </section>

CSS

Код
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
section {
  position: fixed;
  height: 100%;
  width: 100%;
  background: #e3f2fd;
}
button {
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  padding: 14px 22px;
  border: none;
  background: #4070f4;
  border-radius: 6px;
  cursor: pointer;
}
button:hover {
  background-color: #265df2;
}
button.modnoye_okoshko,
.modal-box {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}
section.active .modnoye_okoshko {
  display: none;
}
.askoevno_kigas {
  position: fixed;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
}
section.active .askoevno_kigas {
  opacity: 1;
  pointer-events: auto;
}
.modal-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 380px;
  width: 100%;
  padding: 30px 20px;
  border-radius: 24px;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%) scale(1.2);
}
section.active .modal-box {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.modal-box i {
  font-size: 70px;
  color: #4070f4;
}
.modal-box h2 {
  margin-top: 20px;
  font-size: 25px;
  font-weight: 500;
  color: #333;
}
.modal-box h3 {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  text-align: center;
}
.modal-box .kilopbcas {
  margin-top: 25px;
}
.modal-box button {
  font-size: 14px;
  padding: 6px 12px;
  margin: 0 10px;
}

/* Google Fonts - Poppins */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
section {
  position: fixed;
  height: 100%;
  width: 100%;
  background: #e3f2fd;
}
button {
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  padding: 14px 22px;
  border: none;
  background: #4070f4;
  border-radius: 6px;
  cursor: pointer;
}
button:hover {
  background-color: #265df2;
}
button.modnoye_okoshko,
.psamolun_ademubid {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}
section.aculopam .modnoye_okoshko {
  display: none;
}
.askoevno_kigas {
  position: fixed;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
}
section.aculopam .askoevno_kigas {
  opacity: 1;
  pointer-events: auto;
}
.psamolun_ademubid {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 380px;
  width: 100%;
  padding: 30px 20px;
  border-radius: 24px;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%) scale(1.2);
}
section.aculopam .psamolun_ademubid {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.psamolun_ademubid i {
  font-size: 70px;
  color: #4070f4;
}
.psamolun_ademubid h2 {
  margin-top: 20px;
  font-size: 25px;
  font-weight: 500;
  color: #333;
}
.psamolun_ademubid h3 {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  text-align: center;
}
.psamolun_ademubid .kilopbcas {
  margin-top: 25px;
}
.psamolun_ademubid button {
  font-size: 14px;
  padding: 6px 12px;
  margin: 0 10px;
}

JS
Код
<script>
  const section = document.querySelector("section"),
  askoevno_kigas = document.querySelector(".askoevno_kigas"),
  showBtn = document.querySelector(".modnoye_okoshko"),
  closeBtn = document.querySelector(".asetyn_milodsa");

  showBtn.addEventListener("click", () => section.classList.add("aculopam"));

  askoevno_kigas.addEventListener("click", () =>
  section.classList.remove("aculopam")
  );

  closeBtn.addEventListener("click", () =>
  section.classList.remove("aculopam")
  );
  </script>

Надеюсь, что теперь вы сами сможете легко создать этот проект всплывающее модальное окно, а точнее его изменить, или оставить по умолчанию. Ведь можно добавить оформление, где сразу вид поменяется, а вот эффект анимации останется.

Если вы испытываете трудности в установочном процессе то можно скачать весь код HTML CSS и JavaScript этого модального окна снизу. Или просто соединить все три элемента и выставить по месту, где будет кнопка.

Демонстрация
2022-10-25 Загрузок: 1 Просмотров: 469 Комментарий: (0)

Поделиться в социальных сетях

Материал разместил

Оставь свой отзыв

Комментарий: 0
avatar