iOS在输入框上强制使用圆角和反光效果。
问题的出现原因是iOS系统对输入框进行了圆角和光晕的强制处理,导致在某些webkit浏览器版本中,即使使用了-webkit-appearance: none;
属性,border-radius
仍然存在。解决方法是通过添加以下代码来重置border-radius
属性:input { -webkit-border-radius: 0; border-radius: 0; }
。该方法可以用于所有webkit样式的form
组件,如input
、select
、button
或textarea
。
此外,需要注意的是,这会在Chrome中隐藏复选框,因此可以使用input[type=text]
或input[type=submit], input[type=text]
来过滤掉不使用圆角设置的选项。另外,-webkit-appearance: none;
属性在Chrome中不是有效的解决方法。
对于避免在Chrome中出现问题,使用input:not([type=checkbox]), input:not([type=radio])
可以更好地处理。但这种方法不适用于IE<=8,不过这并不是要解决的问题。
最后,使用input[type=submit], input[type=text]
可以确保样式仅应用于Safari中的按钮,因为只有满足这两个条件之一的按钮才会被选中。编辑后的代码不会过滤掉任何按钮,这是不正确的。