CSS 表單
通過使用 CSS,可以極大地改善 HTML 表單的外觀:
設置輸入字段的樣式
使用 width
屬性來確定輸入字段的寬度:
實例
input { width: 100%; }
上例適用于所有 <input> 元素。如果只想設置特定輸入類型的樣式,則可以使用屬性選擇器:
input[type=text]
- 將僅選擇文本字段input[type=password]
- 將僅選擇密碼字段input[type=number]
- 將僅選擇數字字段- 等等...
填充輸入框
使用 padding
屬性在文本字段內添加空間。
提示:若有很多輸入,那么您可能還需要添加外邊距,以便在它們之外添加更多空間:
實例
input[type=text] { width: 100%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; }
請注意,我們已將 box-sizing
屬性設置為 border-box
。這樣可以確保元素的總寬度和高度中包括內邊距(填充)和最終的邊框。
請在在我們的 CSS Box Sizing 這一章中學習有關 box-sizing
屬性的更多知識。
帶邊框的輸入框
請使用 border
屬性更改邊框的粗細和顏色,并使用 border-radius
屬性添加圓角:
實例
input[type=text] { border: 2px solid red; border-radius: 4px; }
如果僅需要下邊框,請使用 border-bottom
屬性:
實例
input[type=text] { border: none; border-bottom: 2px solid red; }
彩色的輸入框
請使用 background-color
屬性為輸入添加背景色,并使用 color
屬性更改文本顏色:
實例
input[type=text] { background-color: #3CBC8D; color: white; }
獲得焦點的輸入框
默認情況下,某些瀏覽器在獲得焦點(單擊)時會在輸入框周圍添加藍色輪廓。您可以通過向輸入添加 outline: none;
來消除此行為。
使用 :focus
選擇器可以在輸入字段獲得焦點時為其設置樣式:
實例 1
input[type=text]:focus { background-color: lightblue; }
請在文本框中點擊:
實例 2
input[type=text]:focus { border: 3px solid #555; }
請在文本框中點擊:
帶有圖標/圖像的輸入框
如果希望在輸入框中包含圖標,請使用 background-image
屬性,并將其與 background-position
屬性一起設置。還要注意,我們添加了一個較大的左內邊距(padding-left)來留出圖標的空間:
實例
input[type=text] { background-color: white; background-image: url('searchicon.png'); background-position: 10px 10px; background-repeat: no-repeat; padding-left: 40px; }
帶動畫效果的搜索輸入框
在本例中,我們使用 CSS transition
屬性為搜索輸入框獲得焦點時的寬度變化設置動畫。稍后,您將在我們的 CSS 過渡 一章中學到更多有關 transition
屬性的知識。
實例
input[type=text] { transition: width 0.4s ease-in-out; } input[type=text]:focus { width: 100%; }
設置文本域的樣式
提示:使用 resize
屬性可防止對 textareas 調整大小(禁用右下角的“抓取器”):
實例
textarea { width: 100%; height: 150px; padding: 12px 20px; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; background-color: #f8f8f8; resize: none; }
設置選擇菜單的樣式
實例
select { width: 100%; padding: 16px 20px; border: none; border-radius: 4px; background-color: #f1f1f1; }
設置輸入按鈕的樣式
實例
input[type=button], input[type=submit], input[type=reset] { background-color: #4CAF50; border: none; color: white; padding: 16px 32px; text-decoration: none; margin: 4px 2px; cursor: pointer; } /* 提示:請使用 width: 100%,以實現全寬按鈕 */
有關如何使用 CSS 設置按鈕樣式的更多知識,請學習我們的 CSS 按鈕 教程。
響應式菜單
請調整 TIY 編輯器窗口的大小來查看效果。當屏幕的寬度小于 600 像素時,使兩列上下堆疊而不是左右堆疊。
高級:接下來的例子使用 媒體查詢 來創建響應式表單。在下一章中,您將學到更多相關知識。