【译】表单组件的属性兼容性表

下面的兼容性表将总结出HTML表单对CSS的支持程度,因为CSS和HTML表单的复杂性,这几个表不能认为是最佳的参考对象。尽管如此,它们也能让你更了解能作什么、不能作什么,这将有助于你学习如何开发。segmentfault

如何阅读这些表格

各个属性都有以下四个可能的值:
YES
具备可靠而一致的跨浏览器支持。但你可能还得在某些边际状况下面对一些奇怪的反作用。浏览器

PARTIAL
当该属性生效时,你可能会频繁碰见那些奇怪的反作用或者不一致性。最好避免使用这些属性,除非你能掌控这些反作用。markdown

NO
该属性不能生效,或者表现很不一致以致于不可靠。app

N.A
该属性对于这类组件来讲没有什么意义。学习

效果

每种属性都有两种可能的效果:
N(Normal)
指该属性被直接应用。字体

T(Tweaked)
指该属性和下列额外规则一块儿使用:spa

* {
/* 在Webkit浏览器下禁用原生的外观和效果 */
  -webkit-appearance: none;

/* 在Gecko浏览器下禁用原生的外观和效果 */
  -moz-appearance: none;

/* 在几个不一样的浏览器下禁用原生的外观和效果,包括Opera,Internet Explorer和Firefox */
  background: none;
}

兼容性表

统一行为

在总体水平上,一些行为对于多数浏览器来讲是一致的:翻译

border, background, border-radius, height
在一些浏览器上,使用这些属性能够部分或者彻底禁止组件的原生外观和体验。因此使用时请当心。

line-height
该属性的跨浏览器支持很不一致,得避免使用它。

text-decoration
在表单组件上,Opera不支持该属性。

text-overflow
在表单组件上,Opera,safari 和 IE9不支持该属性。

text-shadow
在表单组件上Opera不支持该属性,而IE9干脆就彻底不支持它。

译注:因为表格内容比较复杂、使用markdown难以表现原有格式,并且考虑到这些表格更多只是让咱们作个参考、阅读难度也不是很大。因此下文将只会摘取兼容性表中一些属性的说明做翻译,完整表格请参照原文。^_^

文本框

属性 备注
height 1.Webkit浏览器(多数指Mac OSX和iOS上的)对搜索框使用了原生的外观和效果。因此得使用-webkit-appearance:none来让搜索框能使用该属性。
2.在Windows7上,IE9不会应用到边框,除非使用了background:none
border 同上
padding 同上
color 1.若未设置border-color属性,某些Webkit浏览器会给<textarea>的边框和字体都使用color属性。
font 参见line-height的备注
text-decoration 参见Opera的备注
text-indent 1.IE9只在<textarea>上支持该属性,而Opera只在单行文本框上支持它。
background height
border-radius 1.同height
2.Opera上的border-radius属性只在明确设置了边框后才生效。
box-shadow 1.IE9不支持该属性。

按钮

属性 备注
height 1.该属性不会在Mac OSX上的Webkit浏览器上生效。
padding 同上
font 参见line-height的备注
border-radius 1.Opera上的border-radius属性只在明确设置了边框后才生效。
box-shadow 1.IE9不支持该属性。

数字

在实现了number组件的浏览器上,没有统一的方法来改变那个用于调节输入框值的调节器样式。值得注意的是,Safari中该调节器是位于输入框外的。

属性 备注
height 1.Opera上的数字调节器被放大了,这会致使输入框的内容被隐藏。
padding 同上
font 参见line-height的备注
background 1.虽然被支持,但在不一样浏览器间表现很不一致
border-radius 同上
box-shadow 同上

单选框和复选框

属性 备注
width 1.某些浏览器会添加额外的外边距,而另外一些则会伸展该组件
height 同上

选择框(单行)

属性 备注
width 该属性可被因为<select>元素,但却不能用于<option><optgroup>元素
padding 1.该属性可用,但在MAC OSX上的一些浏览器存在不一致的表现
2.该属性可用于<select>元素,但对于<option><optgroup>的处理则存在不一致
color 1.在MAC OSX上的Webkit浏览器不支持在原生组件上(译注:指的应是单行选择框这一组件)使用该属性;并且它们和Opera都不在<option><optgroup>上支持该属性
font 1.在MAC OSX上的Webkit浏览器不支持在原生组件上使用该属性;并且它们和Opera都不在<option><optgroup>上支持该属性
letter-spacing 1.IE9不支持在<select>, <option>, <optgroup>上使用该属性;Mac OSX上的Webkit浏览器不支持在<option>, <optgroup>上使用该属性
text-align 1.Windows7上的IE9和Webkit浏览器不支持在这一组件上使用该属性
text-decoration 1.只有Firefox实现了对该属性的彻底支持,Opera根本不支持该属性,而其余浏览器只支持在<select>元素上使用它
text-indent 1.多数浏览器只在<select>元素上支持该属性
2.IE9不支持该属性
text-shadow 同上
text-transform 1.多数浏览器只在<select>元素上支持该属性
background 同上
border-radius 同上
box-shadow 同上

选择框(多行)

属性 备注
padding 1.Opera不支持在<select>使用padding-top和padding-bottom
font 参见line-height的备注
letter-spacing 1.IE9不支持在<select>, <option>, <optgroup>上使用该属性;Mac OSX上的Webkit浏览器不支持在<option>, <optgroup>上使用该属性
text-align 1.Windows7上的IE9和Webkit浏览器不支持在这一组件上使用该属性
text-decoration 1.只被FireFox和IE9支持
text-transform 1.多数浏览器只在<select>元素上支持该属性
border-radius 1.在Opera上只有明确设置了边框的状况下,border-radius属性才能使用
box-shadow 1.IE9不支持该属性

文件选择器

属性 备注
font 1.虽然被支持,但在不一样浏览器间表现很不一致
letter-spacing 1.多数浏览器将该属性用于选择按钮
text-indent 1.该属性表现得像额外的左外边距
background 1.虽然被支持,但在不一样浏览器间表现很不一致
box-shadow 1.IE9不支持该属性

颜色选择器

属性 备注
height 1.Opera采用对选择框同样的限制来处理该组件
padding 同上
background 1.虽然被支持,但在不一样浏览器间表现很不一致
border-radius 同上
box-shadow 同上

度量和进度条

属性 备注
padding 1.当在调整过的元素上使用padding属性时,Chrome会隐藏<progress><meter>
background 1.虽然被支持,但在不一样浏览器间表现很不一致
border-radius 同上
box-shadow 同上

滑块

属性 备注
height 1.Chrome和Opera在组件周围添加了额外的空间,Windows7上的Opera拉伸了滑块
padding 1.可用,但不会有视觉效果
background 1.虽然被支持,但在不一样浏览器间表现很不一致
border-radius 同上
box-shadow 同上

图像按钮

属性 备注
border-radius 1.IE9不支持该属性
box-shadow 同上
相关文章
相关标签/搜索