如何創建:彈出式表單

學習如何使用 CSS 和 JavaScript 創建彈出表單。

親自試一試

如何創建登錄表單

第一步 - 添加 HTML:

使用 <form> 元素來處理輸入。您可以在我們的 PHP 教程 中了解更多信息。

<!-- 用于打開彈出表單的按鈕 -->
<button class="open-button" onclick="openForm()">打開表單</button>
<!-- 表單 -->
<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>

第二步 - 添加 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;
}

第三步 - 添加 JavaScript:

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

親自試一試

相關頁面

教程:HTML 表單

教程:CSS 表單