如何使用 HTML 構建自定義表單控制元件?


表單元件是 Web 應用程式的重要組成部分之一。表單用於聯絡我們頁面、申請頁面等。HTML 為我們提供了許多不同的方法和選項來定製設定。這包括文字區域、輸入、複選框等。本文將解釋如何使用 HTML 構建自定義表單控制元件。

使用 HTML 和 CSS 建立自定義表單控制元件

我們只能使用 HTML 和 CSS 來建立自定義表單控制元件。但是,要與後端應用程式互動,還需要 JavaScript。但即使如此,我們仍然可以使用 HTML 和 CSS 建立所有前端效果。我們可以使用 input after 屬性來為設計新增互動性。

示例

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Document</title>
   <style>
      .custom-checkbox {
         position: relative;
         display: inline-block;
         cursor: pointer;
         padding-left: 30px;
         line-height: 20px;
      }
      .checkmark {
         position: absolute;
         top: 0;
         left: 0;
         height: 20px;
         width: 20px;
         background-color: #eee;
      }
      .custom-checkbox input[type="checkbox"] {
         opacity: 0;
         cursor: pointer;
         height: 0;
         width: 0;
      }
      .checkmark:after {
         content: "";
         position: absolute;
         display: none;
         left: 6px;
         top: 2px;
         width: 5px;
         height: 10px;
         border: solid #000;
         border-width: 0 3px 3px 0;
         transform: rotate(45deg);
      }
      .custom-checkbox input[type="checkbox"]:checked + .checkmark:after {
         display: block;
      }
   </style>
</head>
<body>
   <label class="custom-checkbox">
      <input type="checkbox" />
      <span class="checkmark"></span>
      Custom Checkbox
   </label>
</body>
</html>

解釋

  • 程式碼使用 CSS 樣式建立了一個自定義複選框。該複選框使用 HTML 標籤,其中嵌套了一個 input 元素。標籤有一個名為“custom-checkbox”的自定義類。複選框預設情況下隱藏,使用 CSS 屬性“opacity: 0”。

  • 複選框使用帶有類“checkmark”的 span 元素賦予自定義外觀,該元素絕對定位在複選框之上。span 元素的預設背景顏色為 #eee。使用 CSS 屬性“:after”將勾選標記圖示新增到 span 元素中。勾選標記圖示預設情況下隱藏,使用“display: none”。當複選框被選中時,使用 CSS 選擇器“+ .checkmark:after”顯示勾選標記圖示。

如何使用 HTML、CSS 和 JavaScript 建立自定義表單控制元件

當我們想要為 Web 應用程式新增互動性時,使用 JavaScipt 非常重要。我們可以使用 JavaScript 的 onChange 函式在選中和未選中選項、文字區域、輸入欄位等之間切換。

示例

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Document</title>
   <style>
      label {
         position: relative;
         display: inline-block;
         cursor: pointer;
         padding-left: 30px;
         line-height: 20px;
      }
      input[type="checkbox"] {
         opacity: 0;
         cursor: pointer;
         height: 0;
         width: 0;
      }
      span {
         position: absolute;
         top: 0;
         left: 0;
         height: 20px;
         width: 20px;
         background-color: #eee;
      }
      label.checked span:after {
         content: "";
         position: absolute;
         left: 6px;
         top: 2px;
         width: 5px;
         height: 10px;
         border: solid #000;
         border-width: 0 3px 3px 0;
         transform: rotate(45deg);
      }
   </style>
</head>
<body>
   <label>
      <input type="checkbox" onchange="this.parentElement.classList.toggle('checked')" />
      <span></span>
      Custom Checkbox
   </label>
</body>
</html>

解釋

  • 該程式碼是用 HTML、CSS 和 JavaScript 建立的自定義複選框控制元件。HTML 標記定義了一個 label 元素,其中包含一個 type 為 checkbox 的 input 元素和一個用於複選框視覺化表示的 span 元素。CSS 樣式定位元素並定義複選框的外觀。

  • JavaScript 程式碼偵聽 input 元素上的 change 事件,並在父 label 元素上切換“checked”類以更新複選框的外觀。總的來說,該程式碼提供了一個可訪問且可自定義的複選框控制元件,可以輕鬆修改以適應任何專案的需要。

結論

總之,在 HTML 中構建自定義表單控制元件可以成為 Web 開發人員建立使用者友好且引人入勝的表單的強大工具。透過使用 CSS 和 JavaScript,開發人員可以建立自定義複選框、單選按鈕和其他表單元素,這些元素可以輕鬆地進行樣式設定以匹配其網頁的設計。建立自定義表單控制元件可以改善使用者體驗,並提供對錶單的行為、驗證和可訪問性的更多控制。

更新於: 2023年4月17日

298 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告