首页 文章

关闭iPhone / Safari输入元素四舍五入

提问于
浏览
342

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

有没有办法指示Safari(通过CSS或元数据)不对输入字段进行舍入并将其呈现为矩形?

11 回答

  • 605

    单独 input -webkit-appearance: none; 不起作用 .

    请尝试添加 -webkit-border-radius:0px; .

  • 4

    接受的答案使得单选按钮在Chrome上消失 . 这有效:

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

    对于我在iPhone 3GS上的iOS 5.1.1,我必须清除搜索字段的样式并将其设置为预期的样式

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

    单独做 -webkit-border-radius: 0; 并没有清除原生样式 . 这也是本机应用程序的webview .

  • 3

    我使用了一个简单的border-radius:0;删除文本输入类型的圆角 .

  • 9

    为了在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 !important; }

  • 33

    这是在IOS中删除舍入的最佳方法 .

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

    Note: 请不要将此代码用于选择选项 . 我们的选择会有问题 .

  • 46

    在iOS 5及更高版本中,好的' border-radius 可以解决问题:

    input {
        border-radius: 0;
    }
    

    如果您必须仅删除iOS上的圆角或由于某种原因无法规范化跨平台的圆角,请使用前缀 -webkit-border-radius 属性,但仍然支持此属性 . 当然请注意,Apple可以随时选择放弃对前缀属性的支持,但考虑到其他特定于平台的CSS功能,他们可能会保留它 .

    在旧版本上,您必须设置 -webkit-appearance: none

    input {
        -webkit-appearance: none;
    }
    
  • 2

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

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

    请试试这个:

    尝试像这样添加 input Css:

    -webkit-appearance: none;
           border-radius: 0;
    
  • 7

    我有同样的问题,但只有提交按钮 . 需要移除内部阴影和圆角 -

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

相关问题