入力番号のスピナーを非表示にする-Firefox 29


202

Firefox 28では、<input type="number">数字のみを入力する必要がある入力フィールドに数字キーボードが表示されるため、うまく機能しています。

Firefox 29では、数値入力を使用すると、フィールドの右側にスピンボタンが表示されます。これは、私のデザインではがらくたのように見えます。とにかく6桁から10桁の数字のようなものを書く必要があるときは、ボタンは役に立たないので、私は本当にボタンは必要ありません。

CSSまたはjQueryでこれを無効にすることは可能ですか?


2
スピン矢印が必要ない場合は、使用しないでくださいtype="number"。属性を使用type="text"してpattern正規表現を設定し、それが数値であることを確認できます。
ロケットHazmat 14

4
-webkit-inner-spin-button -webkit-outer-spin-button with -webkit-appearance:none; マージン:0; Firefoxでは機能しません。
NereuJunior 2014

12
@RocketHazmat:type="number"モバイルブラウザがフルキーボードではなく数字キーボードを表示するために必要です。
CodeManX 2015

3
<input type="tel">数値のみで、スピナーは含まれていません。
TomasVeras

5
type="text"タッチデバイスでは間違ったキーボードが表示されるため、変更はお勧めできません。
WhyNotHugo 2016

回答:


523

よると、このブログの記事、あなたが設定する必要が-moz-appearance:textfield;input

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;
}
<input type="number" step="0.01"/>


1
私はこれをラップし@-moz-document url-prefix() { ... }、それが私が望むことを行います:Firefoxのスピナーを非表示にしますが、OPが言及したように数値キーボードを表示するブラウザーを含め、他のブラウザーではそれらを維持します。
Michael Scheper 14年

4
Geoff Grahamからのさらに役立つ情報:数値入力–ブラウザーのデフォルトの比較
Richard Deeming

3
これは機能し、実際にはスピナーが削除されますが、次に英数字を入力できるようになります。入力されたキーが数字であるかどうかを確認することなく、誰かがそのシナリオを処理する方法を見つけられることを願っています。
Jovanni G 2017

1
@JovanniG:スピナーを削除しなくても、Firefoxの入力に数字以外の文字を入力できます。MDNデモでお試しください。Chromeは、両方の例で非数値入力を防ぎます。
Richard Deeming

1
@alxndr:また、Chrome 66で「コードスニペットの実行」を試したところ、期待どおりに動作しました。
Richard Deeming

50

-moz-appearanceこれらの要素のデフォルト値はnumber-inputFirefoxにあることを指摘する価値があります。

あなたは、デフォルトでスピナーを非表示にしたい場合は、設定することができ-moz-appearance: textfield、最初は、あなたがあれば欲しいスピナーが上に表示する:hover/ :focus、あなたが以前のスタイリングを上書きすることができます-moz-appearance: number-input

input[type="number"] {
    -moz-appearance: textfield;
}
input[type="number"]:hover,
input[type="number"]:focus {
    -moz-appearance: number-input;
}
<input type="number"/>

私は最近、Chrome / FF間の整合性を改善するためにこれを行う必要があったので、誰かが役立つと思うかもしれないと思った(これはChromeでの数値入力のデフォルトの動作方法であるため)。

で利用可能なすべての値を確認したい場合は-moz-appearanceここ(mdn)で見つけることができます。


11

ではSASS/ SCSSスタイル、あなたは次のように書くことができます。

input[type='number'] {
  -moz-appearance: textfield;/*For FireFox*/

  &::-webkit-inner-spin-button { /*For Webkits like Chrome and Safari*/
    -webkit-appearance: none;
    margin: 0;
  }
}

間違いなく、このコードスタイルはで使用できますPostCSS


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


/* for mozilla */  
   input[type=number] {-moz-appearance: textfield;}

3

Firefoxの29.0.1へのアップデート後の同じ問題に直面しました。これもここにリストされてい ますhttps://bugzilla.mozilla.org/show_bug.cgi?id=947728

解決策:彼ら(Mozillaの人)は、「-moz-appearance」のサポートを導入することでこれを修正しました<input type="number">。""を使用して、入力フィールドにスタイルを関連付ける必要があります-moz-appearance:textfield;

私はCSSの方法を好みます。

.input-mini{
-moz-appearance:textfield;}

または

インラインで行うこともできます:

<input type="number" style="-moz-appearance: textfield">


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.