Всплывающая форма

Здесь вы узнаете, как сделать всплывающую форму при помощи CSS и JavaScript.


Попробовать самому »

Как сделать всплывающую форму

Шаг 1) Добавляем HTML:

Пример


<div class="form-popup" id="myForm">
  <form action="action_page.php" class="form-container">
    <h1>Вход в аккаунт</h1>

    <label for="email"><b>Электронная почта</b></label>
    <input type="text" placeholder="Введите электронную почту" name="email" required>

    <label for="psw"><b>Пароль</b></label>
    <input type="password" placeholder="Введите пароль" name="psw" required>

    <button type="submit" class="btn">Войти</button>
    <button type="button" class="btn cancel" onclick="closeForm()">Закрыть</button>
  </form>
</div>

Шаг 2) Добавляем CSS:

Пример


* {box-sizing: border-box;}

/* Кнопка для открытия формы – зафиксирована внизу страницы */
.open-button {
  background-color: #555;
  color: white;
  padding: 16px 20px;
  border: none;
  cursor: pointer;
  opacity: 0.8;
  position: fixed;
  bottom: 23px;
  right: 28px;
  width: 280px;
}

/* Всплывающая форма – по умолчанию скрыта */
.form-popup {
  display: none;
  position: fixed;
  bottom: 0;
  right: 15px;
  border: 3px solid #f1f1f1;
  z-index: 9;
}

/* Стили контейнера формы */
.form-container {
  max-width: 300px;
  padding: 10px;
  background-color: white;
}

/* Поля ввода во всю ширину */
.form-container input[type=text], .form-container input[type=password] {
  width: 100%;
  padding: 15px;
  margin: 5px 0 22px 0;
  border: none;
  background: #f1f1f1;
}

/* Когда поля ввода получают фокус, кое что сделаем */
.form-container input[type=text]:focus, .form-container input[type=password]:focus {
  background-color: #ddd;
  outline: none;
}

/* Стили для кнопки входа */
.form-container .btn {
  background-color: #04AA6D;
  color: white;
  padding: 16px 20px;
  border: none;
  cursor: pointer;
  width: 100%;
  margin-bottom:10px;
  opacity: 0.8;
}

/* Добавим красный фон для кнопки "Закрыть" */
.form-container .cancel {
  background-color: red;
}

/* Добавим эффекты при наведении на кнопки */
.form-container .btn:hover, .open-button:hover {
  opacity: 1;
}

Шаг 3) Добавляем JavaScript:

Пример


function openForm() {
  document.getElementById("myForm").style.display = "block";
}

function closeForm() {
  document.getElementById("myForm").style.display = "none";
}

Попробовать самому »