Скрыть Spinner в поле ввода - Firefox 29

В Firefox 28 я использую <input type="number"> отлично работает, потому что он выводит числовую клавиатуру на поля ввода, которые должны содержать только цифры.

В Firefox 29 с помощью цифровых входов отображаются кнопки со стрелками в правой части поля, которые выглядят как дерьмо в моем дизайне. Мне действительно не нужны кнопки, потому что они бесполезны, когда вам все равно нужно писать что-то вроде 6-значного числа.

Можно ли отключить это с помощью CSS или jQuery?

Ответ 1

Согласно этому сообщению в блоге, вам нужно установить -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"/>

Ответ 2

Стоит отметить, что значение по умолчанию -moz-appearance для этих элементов - number-input в Firefox.

Если вы хотите скрыть счетчик по умолчанию, вы можете сначала установить -moz-appearance: textfield, и если вы хотите, чтобы spinner появлялся на :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"/>

Ответ 3

В стиле 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.

Ответ 4

/* 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;}

Ответ 5

Столкнувшись с тем же выпуском 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">

Ответ 6

Я смешал несколько ответов из ответов выше и из Как удалить стрелки из ввода [type = "number"] в Opera в scss:

input[type=number] {
  &,
  &::-webkit-inner-spin-button,
  &::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;

    &:hover,
    &:focus {
      -moz-appearance: number-input;
    }
  }
}

Tested on chrome, firefox, safari