表单控件兼容性列表
下面的兼容性表格尝试总结 HTML 表单的 CSS 支持状况。由于 CSS 和 HTML 表单的复杂性,不能把这些表格当作完善的参考。但是,它们可以让你很好地洞察什么能做什么不能做,这将会对你学习使用有很好地帮助。
如何阅读表格
值
渲染
对于每个属性有两种可能的渲染方式:
- N (Normal)
-
表示这个属性会像设置的那样应用。
- T (Tweaked)
-
表示这个属性需要通过下列的额外规则来使用:
* {
/* Turn off the native look and feel */
-webkit-appearance: none;
appearance: none;
/* for Internet Explorer */
background: none;
}
兼容性表格
全局行为
对许多浏览器来说,许多行为在全局范围内都是通用的:
border
、background
、border-radius
、height
-
在某些浏览器中,这里的任意一个属性可能影响组件的部分或全部的原生外观。小心使用。
line-height
-
不同浏览器支持情况不同,避免使用。
text-decoration
-
Opera 的表单组件不支持这个属性。
text-overflow
-
Opera、Safari 和 IE9 的表单组件不支持这个属性。
text-shadow
-
Opera 的表单组件不支持
text-shadow
,IE9 则是整个表单都不支持这个属性。
文本字段
参见 text
、search
和 password
input 类型。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
⚠️ 部分支持[1][2] | ✅ 支持 |
|
border |
⚠️ 部分支持[1][2] | ✅ 支持 |
|
margin |
✅ 支持 | ✅ 支持 | |
padding |
⚠️ 部分支持[1][2] | ✅ 支持 |
|
文本和字体 | |||
color [1] |
✅ 支持 | ✅ 支持 |
|
font |
✅ 支持 | ✅ 支持 | 查看有关 line-height 的注释 |
letter-spacing |
✅ 支持 | ✅ 支持 | |
text-align |
✅ 支持 | ✅ 支持 | |
text-decoration |
⚠️ 部分支持 | ⚠️ 部分支持 | 查看有关 Opera 的注释 |
text-indent |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
text-overflow |
⚠️ 部分支持 | ⚠️ 部分支持 | |
text-shadow |
⚠️ 部分支持 | ⚠️ 部分支持 | |
text-transform |
✅ 支持 | ✅ 支持 | |
边框和背景 | |||
background |
⚠️ 部分支持[1] | ✅ 支持 |
|
border-radius |
⚠️ 部分支持[1][2] | ✅ 支持 |
|
box-shadow |
❌ 不支持 | ⚠️ 部分支持[1] |
|
按钮
参见 button
、submit
和 reset
input 类型,以及
元素。<button>
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
⚠️ 部分支持[1] | ✅ 支持 |
|
border |
⚠️ 部分支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
⚠️ 部分支持[1] | ✅ 支持 |
|
文本和字体 | |||
color |
✅ 支持 | ✅ 支持 | |
font |
✅ 支持 | ✅ 支持 | 查看 line-height 的注释。 |
letter-spacing |
✅ 支持 | ✅ 支持 | |
text-align |
❌ 不支持 | ❌ 不支持 | |
text-decoration |
⚠️ 部分支持 | ✅ 支持 | |
text-indent |
✅ 支持 | ✅ 支持 | |
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
⚠️ 部分支持 | ⚠️ 部分支持 | |
text-transform |
✅ 支持 | ✅ 支持 | |
边框和背景 | |||
background |
✅ 支持 | ✅ 支持 | |
border-radius |
✅ 支持[1] | ✅ 支持[1] |
|
box-shadow |
❌ 不支持 | ⚠️ 部分支持[1] |
|
数字
参见 number
input 类型。没有一种标准的方式改变数字字段的样式,值得注意的是 Safari 上的数字字段不在这个范围内。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
border |
✅ 支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
文本和字体 | |||
color |
✅ 支持 | ✅ 支持 | |
font |
✅ 支持 | ✅ 支持 | 查看有关 line-height 的注释。 |
letter-spacing |
✅ 支持 | ✅ 支持 | |
text-align |
✅ 支持 | ✅ 支持 | |
text-decoration |
⚠️ 部分支持 | ⚠️ 部分支持 | |
text-indent |
✅ 支持 | ✅ 支持 | |
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
⚠️ 部分支持 | ⚠️ 部分支持 | |
text-transform |
不适用 | 不适用 | |
边框和背景 | |||
background |
❌ 不支持 | ❌ 不支持 |
支持,但浏览器之间的不一致性太多,所以并不可靠。 |
border-radius |
❌ 不支持 | ❌ 不支持 | |
box-shadow |
❌ 不支持 | ❌ 不支持 |
复选框和单选按钮
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
❌ 不支持[1] | ❌ 不支持[1] |
|
height |
❌ 不支持[1] | ❌ 不支持[1] |
|
border |
❌ 不支持 | ❌ 不支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
❌ 不支持 | ❌ 不支持 | |
文本和字体 | |||
color |
不适用 | 不适用 | |
font |
不适用 | 不适用 | |
letter-spacing |
不适用 | 不适用 | |
text-align |
不适用 | 不适用 | |
text-decoration |
不适用 | 不适用 | |
text-indent |
不适用 | 不适用 | |
text-overflow |
不适用 | 不适用 | |
text-shadow |
不适用 | 不适用 | |
text-transform |
不适用 | 不适用 | |
边框和背景 | |||
background |
❌ 不支持 | ❌ 不支持 | |
border-radius |
❌ 不支持 | ❌ 不支持 | |
box-shadow |
❌ 不支持 | ❌ 不支持 |
选择框(单行)
参见
、<select>
和 <optgroup>
元素。<option>
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
height |
❌ 不支持 | ✅ 支持 | |
border |
⚠️ 部分支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
❌ 不支持[1] | ⚠️ 部分支持[2] |
|
文本和字体 | |||
color |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
font |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
letter-spacing |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
text-align |
❌ 不支持[1] | ❌ 不支持[1] |
|
text-decoration |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
text-indent |
⚠️ 部分支持[1][2] | ⚠️ 部分支持[1][2] |
|
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
⚠️ 部分支持[1][2] | ⚠️ 部分支持[1][2] |
|
text-transform |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
边框和背景 | |||
background |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
border-radius |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] | |
box-shadow |
❌ 不支持 | ⚠️ 部分支持[1] |
注意,Firefox 没有提供用于修改
元素的向下箭头的方法。<select>
选择框(多行)
参见
、<select>
和 <optgroup>
元素,以及 <option>
size
属性。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
✅ 支持 | ✅ 支持 | |
border |
✅ 支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
文本和字体 | |||
color |
✅ 支持 | ✅ 支持 | |
font |
✅ 支持 | ✅ 支持 | 参见有关 line-height 的注释。 |
letter-spacing |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
text-align |
❌ 不支持[1] | ❌ 不支持[1] |
|
text-decoration |
❌ 不支持[1] | ❌ 不支持[1] |
|
text-indent |
❌ 不支持 | ❌ 不支持 | |
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
❌ 不支持 | ❌ 不支持 | |
text-transform |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
边框和背景 | |||
background |
✅ 支持 | ✅ 支持 | |
border-radius |
✅ 支持[1] | ✅ 支持[1] |
|
box-shadow |
❌ 不支持 | ⚠️ 部分支持[1] |
|
数据列表
参见
和 <datalist>
元素,以及 <input>
list
属性。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
❌ 不支持 | ❌ 不支持 | |
height |
❌ 不支持 | ❌ 不支持 | |
border |
❌ 不支持 | ❌ 不支持 | |
margin |
❌ 不支持 | ❌ 不支持 | |
padding |
❌ 不支持 | ❌ 不支持 | |
文本和字体 | |||
color |
❌ 不支持 | ❌ 不支持 | |
font |
❌ 不支持 | ❌ 不支持 | |
letter-spacing |
❌ 不支持 | ❌ 不支持 | |
text-align |
❌ 不支持 | ❌ 不支持 | |
text-decoration |
❌ 不支持 | ❌ 不支持 | |
text-indent |
❌ 不支持 | ❌ 不支持 | |
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
❌ 不支持 | ❌ 不支持 | |
text-transform |
❌ 不支持 | ❌ 不支持 | |
边框和背景 | |||
background |
❌ 不支持 | ❌ 不支持 | |
border-radius |
❌ 不支持 | ❌ 不支持 | |
box-shadow |
❌ 不支持 | ❌ 不支持 |
文件选择器
参见 file
input 类型。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
❌ 不支持 | ❌ 不支持 | |
height |
❌ 不支持 | ❌ 不支持 | |
border |
❌ 不支持 | ❌ 不支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
❌ 不支持 | ❌ 不支持 | |
文本和字体 | |||
color |
✅ 支持 | ✅ 支持 | |
font |
❌ 不支持[1] | ❌ 不支持[1] |
|
letter-spacing |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
text-align |
❌ 不支持 | ❌ 不支持 | |
text-decoration |
❌ 不支持 | ❌ 不支持 | |
text-indent |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
❌ 不支持 | ❌ 不支持 | |
text-transform |
❌ 不支持 | ❌ 不支持 | |
边框和背景 | |||
background |
❌ 不支持[1] | ❌ 不支持[1] |
|
border-radius |
❌ 不支持 | ❌ 不支持 | |
box-shadow |
❌ 不支持 | ⚠️ 部分支持[1] |
|
日期选择器
参见 date
和 time
input 类型。很多属性都被浏览器支持,但浏览器之间的不一致性太多,所以并不可靠。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
❌ 不支持 | ❌ 不支持 | |
height |
❌ 不支持 | ❌ 不支持 | |
border |
❌ 不支持 | ❌ 不支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
❌ 不支持 | ❌ 不支持 | |
文本和字体 | |||
color |
❌ 不支持 | ❌ 不支持 | |
font |
❌ 不支持 | ❌ 不支持 | |
letter-spacing |
❌ 不支持 | ❌ 不支持 | |
text-align |
❌ 不支持 | ❌ 不支持 | |
text-decoration |
❌ 不支持 | ❌ 不支持 | |
text-indent |
❌ 不支持 | ❌ 不支持 | |
text-overflow |
❌ 不支持 | ❌ 不支持 | |
text-shadow |
❌ 不支持 | ❌ 不支持 | |
text-transform |
❌ 不支持 | ❌ 不支持 | |
边框和背景 | |||
background |
❌ 不支持 | ❌ 不支持 | |
border-radius |
❌ 不支持 | ❌ 不支持 | |
box-shadow |
❌ 不支持 | ❌ 不支持 |
颜色选择器
参见 color
input 类型:
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
❌ 不支持[1] | ✅ 支持 |
|
border |
✅ 支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
❌ 不支持[1] | ✅ 支持 |
|
文本和字体 | |||
color |
不适用 | 不适用 | |
font |
不适用 | 不适用 | |
letter-spacing |
不适用 | 不适用 | |
text-align |
不适用 | 不适用 | |
text-decoration |
不适用 | 不适用 | |
text-indent |
不适用 | 不适用 | |
text-overflow |
不适用 | 不适用 | |
text-shadow |
不适用 | 不适用 | |
text-transform |
不适用 | 不适用 | |
边框和背景 | |||
background |
❌ 不支持[1] | ❌ 不支持[1] |
|
border-radius |
❌ 不支持[1] | ❌ 不支持[1] | |
box-shadow |
❌ 不支持[1] | ❌ 不支持[1] |
标量值和进度
参见
和 <meter>
元素:<progress>
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
✅ 支持 | ✅ 支持 | |
border |
⚠️ 部分支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
✅ 支持 | ⚠️ 部分支持[1] |
|
文本和字体 | |||
color |
不适用 | 不适用 | |
font |
不适用 | 不适用 | |
letter-spacing |
不适用 | 不适用 | |
text-align |
不适用 | 不适用 | |
text-decoration |
不适用 | 不适用 | |
text-indent |
不适用 | 不适用 | |
text-overflow |
不适用 | 不适用 | |
text-shadow |
不适用 | 不适用 | |
text-transform |
不适用 | 不适用 | |
边框和背景 | |||
background |
❌ 不支持[1] | ❌ 不支持[1] |
|
border-radius |
❌ 不支持[1] | ❌ 不支持[1] | |
box-shadow |
❌ 不支持[1] | ❌ 不支持[1] |
范围
参见 range
input 类型。没有一种标准的方式来改变范围小组件的样式,Opera 也没有调整范围小组件默认渲染的方法。
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
border |
❌ 不支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
⚠️ 部分支持[1] | ✅ 支持 |
|
文本和字体 | |||
color |
不适用 | 不适用 | |
font |
不适用 | 不适用 | |
letter-spacing |
不适用 | 不适用 | |
text-align |
不适用 | 不适用 | |
text-decoration |
不适用 | 不适用 | |
text-indent |
不适用 | 不适用 | |
text-overflow |
不适用 | 不适用 | |
text-shadow |
不适用 | 不适用 | |
text-transform |
不适用 | 不适用 | |
边框和背景 | |||
background |
❌ 不支持[1] | ❌ 不支持[1] |
|
border-radius |
❌ 不支持[1] | ❌ 不支持[1] | |
box-shadow |
❌ 不支持[1] | ❌ 不支持[1] |
图像按钮
参见 image
input 类型:
属性 | N | T | 注释 |
---|---|---|---|
CSS 盒子模型 | |||
width |
✅ 支持 | ✅ 支持 | |
height |
✅ 支持 | ✅ 支持 | |
border |
✅ 支持 | ✅ 支持 | |
margin |
✅ 支持 | ✅ 支持 | |
padding |
✅ 支持 | ✅ 支持 | |
文本和字体 | |||
color |
不适用 | 不适用 | |
font |
不适用 | 不适用 | |
letter-spacing |
不适用 | 不适用 | |
text-align |
不适用 | 不适用 | |
text-decoration |
不适用 | 不适用 | |
text-indent |
不适用 | 不适用 | |
text-overflow |
不适用 | 不适用 | |
text-shadow |
不适用 | 不适用 | |
text-transform |
不适用 | 不适用 | |
边框和背景 | |||
background |
✅ 支持 | ✅ 支持 | |
border-radius |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|
box-shadow |
⚠️ 部分支持[1] | ⚠️ 部分支持[1] |
|