-webkit-appearance: none;

今天在web群里聊天的时候,发现了这个东东,我好像不怎么认识他,于是查了下关于他的信息:

抄的例子,

-----------

IOS环境下的按钮都是经过美化的,但通常我们在设计web app的时候不需要这些看上去老土的样式,所以,去除这些显得很有必要。

下面这句代码就是重置这些样式的:

-webkit-appearance: none;

通常,我们在写移动端的web开发时,会zaicommon.css中添加以下CSS代码来:

input[type=button]{
	-webkit-appearance:none;
	outline:none
}
----------------------------
但是我觉得他好像还有些确定,并不是那么完美。如下:
-------------------------
-webkit-appearance:none导致无法获取checkbox值

这个BUG发生的背景有点复杂。大概就是一个Form表单,要用Validation Plugin验证,Ajax提交。结果发现在Webkit浏览器下无论怎样都阻止这个form在提交的时候刷新整个页面。

最后总算抓到元凶是checkbox上的-webkit-appearance:none属性。

-webkit-appearance会将webkit浏览器中的元素默认样式去除。checkbox在这个属性下就直接隐藏掉了。然后用JS获取checkbox值时Webkit浏览器会报很奇怪的错误。给这个元素重新赋上-webkit-appearance:checkbox就不会报错了。

其他的的表单元素以及其他的情况并未测试。这个问题在Chrome和Safari中都会出现,应该是Webkit引擎的问题。

--------------------------

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。