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 按钮教程。
