博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【译】表单组件的属性兼容性表
阅读量:6589 次
发布时间:2019-06-24

本文共 3570 字,大约阅读时间需要 11 分钟。

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

如何阅读这些表格

各个属性都有如下四个可能的值:

YES
具有可靠而一致的跨浏览器支持。但你可能还得在某些边际情况下面对一些奇怪的副作用。

PARTIAL

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

NO

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

N.A

该属性对于这类组件来说没有什么意义。

效果

每种属性都有两种可能的效果:

N(Normal)
指该属性被直接应用。

T(Tweaked)

指该属性和下列额外规则一起使用:

* {/* 在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 同上

转载地址:http://afeno.baihongyu.com/

你可能感兴趣的文章
Like Sunday, Like Rain - JavaScript运算符优先级
查看>>
Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
查看>>
最大熵模型
查看>>
【开发问题记录①】关于滑动CollectionView时ContentSize变化的问题
查看>>
纯前端控件集 WijmoJS 2018V2发布,提供可视化设计器,在React、Vue和Angular中的更易用...
查看>>
JavaScript 中call apply 那点简单事
查看>>
k8s使用glusterfs实现动态持久化存储
查看>>
java中GC的基本概念
查看>>
building xxx gradle project info的解决办法
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(四)
查看>>
【Leetcode】98. 验证二叉搜索树
查看>>
区块链共识问题都有什么?
查看>>
分布式事务中间件 Fescar - 全局写排它锁解读
查看>>
Vagrant (一) - 基本知识
查看>>
CSS选择器
查看>>
在 CentOS 7 上搭建 Jenkins + Maven + Git 持续集成环境
查看>>
一星期的学习
查看>>
Javascript 闭包详解
查看>>
数据结构与算法 | Leetcode 19. Remove Nth Node From End of List
查看>>
一起来读you don't know javascript(一)
查看>>