我的网站在iPhone/Safari浏览器上呈现得很好,只有一个例外:我的文本输入字段有一个奇怪的圆形样式,这与我网站的其他部分看起来一点都不好看。
是否有一种方法来指导Safari(通过CSS或元数据)不四舍五入的输入字段,并将它们呈现为预期的矩形?
我的网站在iPhone/Safari浏览器上呈现得很好,只有一个例外:我的文本输入字段有一个奇怪的圆形样式,这与我网站的其他部分看起来一点都不好看。
是否有一种方法来指导Safari(通过CSS或元数据)不四舍五入的输入字段,并将它们呈现为预期的矩形?
当前回答
请试试这个:
尝试像这样添加输入Css:
-webkit-appearance: none;
border-radius: 0;
其他回答
接受的答案使单选按钮在Chrome上消失。如此:
input:not([type="radio"]):not([type="checkbox"]) {
-webkit-appearance: none;
border-radius: 0;
}
以下是Compass (SCSS)的完整解决方案:
input {
-webkit-appearance: none; // remove shadow in iOS
@include border-radius(0); // remove border-radius in iOS
}
为了在Safari和其他浏览器上正确地呈现按钮,除了将webkit-appearance设置为none之外,您还需要为按钮提供特定的样式,例如:
border-radius: 0;
-webkit-appearance: none;
background-image: linear-gradient(to bottom, #e4e4e4, #f7f7f7);
border: 1px solid #afafaf
我使用一个简单的边界半径:0;删除文本输入类型的圆角。
如果你使用normalize.css,样式表会做一些类似于input[type="search"] {-webkit-appearance: textfield;}。
这比单个类选择器(如.foo)具有更高的特异性,因此请注意,您不能只使用.my-field {-webkit-appearance: none;}。如果你没有更好的方法来实现正确的特异性,这将有助于:
.my-field {-webkit-appearance: none !}