在输入类型="数字"上禁用webkit的旋转按钮?

poj*_*ojo 202 css html5 webkit

我有一个主要面向移动用户的网站,但桌面也是如此.

在Mobile Safari上,使用<input type="number">效果很好,因为它会在输入字段上显示数字键盘,这些键盘应该只包含数字.

但是在Chrome和Safari中,使用数字输入会在字段的右侧显示旋转按钮,这在我的设计中看起来像垃圾.我真的不需要按钮,因为当你需要写一个像6位数字的东西时它们是无用的.

是否有可能禁用此功能-webkit-appearance或其他一些CSS技巧?我试过没有太多运气.

Bob*_*ryn 282

我发现答案中有第二部分.

第一部分帮助了我,但我的type=number输入右边仍有一个空格.我已经将输入上的边距归零,但显然我不得不将旋转器上的边距归零.

这解决了它:

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 链接回有关此特定问题和此类信息的权威信息源:http://css-tricks.com/snippets/css/turn-off-number-input-spinners/ (2认同)

Rol*_*n C 111

以下css适用于Chrome和Firefox

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance:textfield;
}
Run Code Online (Sandbox Code Playgroud)

  • 比上面更好的解决方案(更完整) (8认同)
  • 同意@aqm (2认同)

rob*_*rtc 15

不确定这是否是最好的方法,但这会让旋转器在Chrome 8.0.552.5 dev上消失:

input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
Run Code Online (Sandbox Code Playgroud)


Gou*_*ven 11

似乎不可能阻止微调器出现在Opera中.作为临时解决方案,您可以为纺纱厂腾出空间.据我所知,以下CSS只添加了足够的填充,仅在Opera中:

noindex:-o-prefocus,
input[type=number] {
    padding-right: 1.2em;
}
Run Code Online (Sandbox Code Playgroud)

  • @Knu确实,但这里值得一提,因为答案中的代码使得输入无法用于Opera. (4认同)
  • @Goulvench请不要:)我发现它非常有用,其他人也可能. (4认同)