私は主にモバイルユーザー向けですが、デスクトップ向けのサイトもあります。
Mobile Safariでは、<input type="number">
を使用すると、数字のみを含む入力フィールドに数値キーボードが表示されるため、非常に効果的です。
ただし、ChromeおよびSafariでは、数値入力を使用すると、フィールドの右側にスピンボタンが表示されます。これは、私のデザインではがらくたのように見えます。とにかく6桁の数字のようなものを書く必要があるとき、ボタンは役に立たないので、私は本当にボタンを必要としません。
-webkit-appearance
または他のCSSトリックでこれを無効にすることは可能ですか?私は多くの運なしで試しました。
以下の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;
}
これに対する答えの2番目の部分があることを発見しました。
最初の部分 助けてくれましたが、まだtype=number
入力の右側にスペースがありました。入力のマージンをゼロにしましたが、どうやらスピナーのマージンもゼロにしなければなりませんでした。
これにより修正されました。
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
これが最善の方法かどうかはわかりませんが、これによりChrome 8.0.552.5 devでスピナーが消えます:
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
スピナーがOperaに表示されるのを防ぐことは不可能に思えます。一時的な回避策として、スピナー用のスペースを確保できます。私が知る限り、次のCSSはOperaでのみ十分なパディングを追加します:
noindex:-o-prefocus,
input[type=number] {
padding-right: 1.2em;
}