使用 CSS 可以大大改善 HTML 表单的外观:
使用width
属性来确定输入字段的宽度:
上面的示例适用于所有 <input> 元素。如果您只想设置特定输入类型的样式,可以使用属性选择器:
input[type=text]
- 只会选择文本字段input[type=password]
- 只会选择密码字段input[type=number]
- 只会选择数字字段使用padding
属性在文本字段内添加空间。
提示:当你有很多输入时,你可能还想添加一些margin
,在它们之外添加更多空间:
input[type=text] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
}
亲自试一试 »
请注意,我们已经设置了box-sizing
属性为border-box
。这可确保填充和最终边框包含在元素的总宽度和高度中。
阅读更多关于box-sizing
我们的属性CSS 框大小调整章节。
使用border
属性来更改边框大小和颜色,并使用border-radius
添加圆角的属性:
如果您只想要底部边框,请使用border-bottom
属性:
使用background-color
属性为输入添加背景颜色,以及color
更改文本颜色的属性:
默认情况下,某些浏览器会在获得焦点(单击)时在输入周围添加蓝色轮廓。您可以通过添加来删除此行为outline: none;
到输入。
使用:focus
选择器在获得焦点时对输入字段执行某些操作:
如果您想在输入中使用图标,请使用background-image
属性并将其定位为background-position
属性。另请注意,我们添加了一个大的左侧填充来保留图标的空间:
input[type=text] {
background-color: white;
background-image: url('searchicon.png');
background-position: 10px 10px;
background-repeat: no-repeat;
padding-left: 40px;
}
亲自试一试 »
在这个例子中我们使用CSStransition
属性来在获得焦点时对搜索输入的宽度进行动画处理。您将了解更多关于 transition
稍后属性,在我们的CSS 过渡章节。
input[type=text] {
transition: width 0.4s ease-in-out;
}
input[type=text]:focus {
width: 100%;
}
亲自试一试 »
提示:使用resize
属性以防止调整文本区域的大小(禁用右下角的"grabber"):
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: #04AA6D;
border: none;
color: white;
padding: 16px 32px;
text-decoration: none;
margin: 4px 2px;
cursor: pointer;
}
/* Tip: use
width: 100% for full-width buttons */
亲自试一试 »
有关如何使用 CSS 设置按钮样式的更多信息,请阅读我们的CSS 按钮教程。
调整浏览器窗口大小以查看效果。当屏幕宽度小于 600px 时,使两列堆叠在一起,而不是彼此相邻。
先进的:下面的例子使用媒体查询创建响应式表单。您将在后面的章节中了解更多相关内容。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!