下面的兼容性表将总结出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 | 同上 |