html中input類型有哪些 html中input用法大全

html5新增的類型包括color、date、datetime-local、email、month、number、range、search、tel、time、url和week,分別用于顏色選擇、日期選取、日期時間選取、郵箱驗證、月份選擇、數字輸入、滑塊調節、搜索框、電話號碼輸入、時間選擇、網址驗證和周選擇。此外,常見經典類型如text、password、radio、checkbox等也廣泛用于文本輸入、密碼隱藏、單選及多選操作。前端驗證可通過required、minlength/maxlength、min/max、pattern和title屬性實現。自定義樣式可使用css偽類、JavaScript或第三方庫進行優化,同時需注意可訪問性、一致性與響應式設計。

html中input類型有哪些 html中input用法大全

HTML中的元素類型豐富,遠不止我們常用的text和password。了解這些類型及其用法,能讓我們在前端開發中更加得心應手,構建更完善、用戶體驗更好的表單。

html中input類型有哪些 html中input用法大全

的類型遠比你想象的要多,不僅僅是文本框那么簡單。

html中input類型有哪些 html中input用法大全

html5 新增的 input 類型有哪些?

HTML5 引入了許多新的 類型,極大地豐富了表單的功能。這些類型不僅提供了更便捷的用戶輸入方式,還在一定程度上減輕了前端驗證的壓力。

立即學習前端免費學習筆記(深入)”;

  • color: 提供一個顏色選擇器。瀏覽器會顯示一個顏色面板,允許用戶選擇顏色。

    html中input類型有哪些 html中input用法大全

    <label for="favcolor">選擇你喜歡的顏色:</label> <input type="color" id="favcolor" name="favcolor" value="#ff0000">
  • date: 允許用戶選擇日期。瀏覽器會提供一個日期選擇器,方便用戶選取日期,避免手動輸入錯誤。

    <label for="birthday">生日:</label> <input type="date" id="birthday" name="birthday">
  • datetime-local: 允許用戶選擇包含日期和時間的本地時間。

    <label for="meeting-time">選擇會議時間:</label> <input type="datetime-local" id="meeting-time" name="meeting-time">
  • email: 專門用于輸入電子郵件地址。瀏覽器會自動驗證輸入的文本是否符合電子郵件的格式。

    <label for="email">郵箱:</label> <input type="email" id="email" name="email">
  • month: 允許用戶選擇月份。

    <label for="start-month">選擇開始月份:</label> <input type="month" id="start-month" name="start-month">
  • number: 用于輸入數字。可以設置最小值 (min)、最大值 (max) 和步長 (step)。

    <label for="quantity">數量 (1 到 5):</label> <input type="number" id="quantity" name="quantity" min="1" max="5">
  • range: 顯示一個滑塊,允許用戶在一個范圍內選擇數值。

    <label for="volume">音量 (0 到 100):</label> <input type="range" id="volume" name="volume" min="0" max="100">
  • search: 用于搜索框。在某些瀏覽器中,輸入時會顯示清除按鈕。

    <label for="search">搜索:</label> <input type="search" id="search" name="search">
  • tel: 用于輸入電話號碼。雖然不會強制驗證格式,但在移動設備上會優化鍵盤布局。

    <label for="phone">電話號碼:</label> <input type="tel" id="phone" name="phone">
  • time: 允許用戶選擇時間。

    <label for="appt-time">選擇預約時間:</label> <input type="time" id="appt-time" name="appt-time">
  • url: 用于輸入 URL 地址。瀏覽器會自動驗證輸入的文本是否符合 URL 的格式。

    <label for="website">網址:</label> <input type="url" id="website" name="website">
  • week: 允許用戶選擇周。

    <label for="week">選擇周:</label> <input type="week" id="week" name="week">

常見的 input 類型有哪些,分別有什么作用?

除了HTML5新增的類型,還有一些經典的類型,它們同樣非常重要。

  • text: 單行文本輸入框。這是最常用的類型,用于輸入用戶名、地址等文本信息。

    <label for="username">用戶名:</label> <input type="text" id="username" name="username">
  • password: 密碼輸入框。輸入的字符會被隱藏,通常顯示為星號或圓點。

    <label for="password">密碼:</label> <input type="password" id="password" name="password">
  • radio: 單選按鈕。允許用戶在一組選項中選擇一個。需要配合name屬性使用,同一組單選按鈕的name屬性必須相同。

    <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label><br> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label>
  • checkbox: 復選框。允許用戶選擇多個選項。

    <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike"> <label for="vehicle1"> 我有自行車</label><br> <input type="checkbox" id="vehicle2" name="vehicle2" value="Car"> <label for="vehicle2"> 我有汽車</label>
  • file: 文件上傳控件。允許用戶選擇本地文件上傳。

    <label for="myfile">選擇文件:</label> <input type="file" id="myfile" name="myfile">
  • submit: 提交按鈕。用于提交表單數據。

    <input type="submit" value="提交">
  • reset: 重置按鈕。用于重置表單數據到初始狀態。

    <input type="reset" value="重置">
  • button: 普通按鈕??梢耘浜?JavaScript 使用,執行自定義操作。

    <input type="button" value="點擊我" onclick="alert('Hello!')">
  • hidden: 隱藏字段。用于存儲一些不需要顯示給用戶的信息,例如表單的唯一標識。

    <input type="hidden" id="custId" name="custId" value="3478">
  • image: 圖像按鈕。與submit類似,但使用圖像作為按鈕。

    <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">

如何利用 input 的屬性進行前端驗證?

HTML5 提供了一些屬性,可以直接在 元素上進行簡單的前端驗證,減少 JavaScript 代碼量。

  • required: 指示該字段是必填的。如果用戶沒有填寫,瀏覽器會阻止表單提交。

    <label for="username">用戶名:</label> <input type="text" id="username" name="username" required>
  • minlengthmaxlength: 限制文本輸入框的最小和最大字符數。

    <label for="password">密碼 (至少 8 個字符):</label> <input type="password" id="password" name="password" minlength="8">
  • minmax: 限制數字輸入框的最小值和最大值。

    <label for="age">年齡 (18 到 60):</label> <input type="number" id="age" name="age" min="18" max="60">
  • pattern: 使用正則表達式驗證輸入的內容。

    <label for="country_code">國家代碼 (3 個字母):</label> <input type="text" id="country_code" name="country_code" pattern="[A-Za-z]{3}" title="請輸入三個字母的國家代碼">
  • title: 當驗證失敗時,鼠標懸停在輸入框上會顯示的提示信息。

    <label for="email">郵箱:</label> <input type="email" id="email" name="email" required title="請輸入有效的郵箱地址">

雖然這些屬性提供了一些基本的驗證功能,但更復雜的驗證邏輯通常需要使用 JavaScript 來實現。

如何自定義 input 樣式,使其更符合設計要求?

元素的默認樣式通常比較簡單,為了使其更符合設計要求,我們需要自定義樣式。

  • 使用 css 修改基本樣式: 可以使用 CSS 屬性來修改的顏色、字體、邊框、背景等。

    input[type="text"] {   width: 200px;   padding: 10px;   border: 1px solid #ccc;   border-radius: 4px;   box-sizing: border-box; /* 確保 padding 和 border 不會增加元素的總寬度 */ }
  • 使用偽類: ::placeholder 可以用來修改占位符的樣式。:focus 可以用來修改輸入框獲得焦點時的樣式。

    input[type="text"]::placeholder {   color: #aaa; }  input[type="text"]:focus {   border-color: #66afe9;   outline: none; /* 移除默認的 focus 樣式 */   box-shadow: 0 0 5px rgba(102, 175, 233, .5); /* 添加陰影效果 */ }
  • 使用 JavaScript 動態修改樣式: 可以根據用戶的輸入或者其他事件,使用 JavaScript 動態修改的樣式。例如,當輸入內容不符合要求時,可以改變輸入框的邊框顏色。

    const emailInput = document.getElementById('email');  emailInput.addEventListener('blur', function() {   if (!this.value.includes('@')) {     this.style.borderColor = 'red';   } else {     this.style.borderColor = '#ccc';   } });
  • 使用第三方庫: 可以使用一些第三方庫,例如 bootstrap、Materialize 等,它們提供了預定義的樣式,可以快速創建美觀的表單。

自定義樣式時,需要注意以下幾點:

  • 可訪問性: 確保自定義樣式不會影響可訪問性。例如,不要移除 focus 時的輪廓,或者提供其他的視覺提示。
  • 一致性: 保持樣式的一致性,避免在不同的頁面或組件中使用不同的樣式。
  • 響應式: 確保樣式在不同的設備上都能正常顯示。

元素是HTML表單的核心組成部分。掌握各種類型及其屬性,能夠幫助我們構建更高效、用戶友好的Web應用。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享