如何使用 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,開發人員可以建立自定義複選框、單選按鈕和其他表單元素,這些元素可以輕鬆地進行樣式設定以匹配其網頁的設計。建立自定義表單控制元件可以改善使用者體驗,並提供對錶單的行為、驗證和可訪問性的更多控制。