我的网站在iPhone/Safari浏览器上呈现得很好,只有一个例外:我的文本输入字段有一个奇怪的圆形样式,这与我网站的其他部分看起来一点都不好看。

是否有一种方法来指导Safari(通过CSS或元数据)不四舍五入的输入字段,并将它们呈现为预期的矩形?


当前回答

在iOS 5及更高版本上:

input {
  border-radius: 0;
}

input[type="search"] {
  -webkit-appearance: none;
}

如果你只能在iOS上删除圆角,或者因为某些原因无法在跨平台上标准化圆角,使用input {-webkit-border-radius: 0;}属性,仍然支持。当然要注意的是,苹果可以选择在任何时候放弃对前缀属性的支持,但考虑到他们的其他平台特定的CSS功能,他们很可能会保留它。

在旧版本中,你必须设置-webkit-appearance: none。

input {
    -webkit-appearance: none;
}

其他回答

以下是Compass (SCSS)的完整解决方案:

input {
  -webkit-appearance: none;  // remove shadow in iOS
  @include border-radius(0);  // remove border-radius in iOS
}

我遇到了同样的问题,但只是提交按钮。需要删除内部阴影和圆角

input[type="submit"] { -webkit-appearance:none; -webkit-border-radius:0; }

这是IOS中删除四舍五入的最好方法。

textarea,
input[type="text"],
input[type="button"],
input[type="submit"] {
     -webkit-appearance: none;
     border-radius: 0;
}

注意:请不要将此代码用于选择选项。这对我们的选择会有问题。

接受的答案使单选按钮在Chrome上消失。如此:

input:not([type="radio"]):not([type="checkbox"]) {
    -webkit-appearance: none;
    border-radius: 0;
}

Input -webkit-appearance:无;光靠自己是不行的。

尝试添加-webkit-border-radius:0px;此外。