На Firefox 28 я использую <input type="number">
отлично работает, потому что он отображает цифровую клавиатуру на полях ввода, которые должны содержать только цифры.
В Firefox 29 при использовании числовых входов в правой части поля отображаются кнопки прокрутки, что выглядит как дерьмо в моем дизайне. Мне действительно не нужны кнопки, потому что они бесполезны, когда вам все равно нужно написать что-то вроде 6-10-значного числа.
Можно ли отключить это с помощью CSS или jQuery?
type="number"
. Вы можете использоватьtype="text"
иpattern
атрибут, чтобы установить регулярное выражение, чтобы убедиться, что это число.type="number"
требуется, чтобы мобильные браузеры отображали цифровую клавиатуру вместо полной клавиатуры.<input type="tel">
это только цифры и не включает в себя счетчики.type="text"
- плохая идея, потому что сенсорные устройства покажут не ту клавиатуру.Ответы:
Согласно этому сообщению в блоге , вы должны установить
-moz-appearance:textfield;
наinput
.источник
@-moz-document url-prefix() { ... }
и оно делает то, что я хочу: скрывает счетчики в Firefox, где они выглядят плохо, но сохраняет их в других браузерах, включая те, которые вызывают цифровую клавиатуру, как упоминалось в OP.Стоит отметить, что значение по умолчанию для
-moz-appearance
этих элементовnumber-input
в Firefox.Если вы хотите скрыть счетчик по умолчанию, вы можете установить его
-moz-appearance: textfield
изначально, а если хотите, чтобы счетчик появился в:hover
/:focus
, вы можете перезаписать предыдущий стиль с помощью-moz-appearance: number-input
.Я подумал, что кто-то может найти это полезным, поскольку недавно мне пришлось делать это в попытках улучшить согласованность между Chrome / FF (так как в Chrome по умолчанию ведут себя числовые входы).
Если вы хотите увидеть все доступные значения для
-moz-appearance
, вы можете найти их здесь (mdn).источник
В
SASS
/SCSS
style вы можете написать так:Определенно этот стиль кода можно использовать в
PostCSS
.источник
источник
Столкнулся с той же проблемой после обновления Firefox до 29.0.1, это также указано здесь https://bugzilla.mozilla.org/show_bug.cgi?id=947728
Решения: они (ребята из Mozilla) исправили это, добавив поддержку для -moz-creation
<input type="number">
. Вам просто нужно иметь стиль, связанный с вашим полем ввода с "-moz-appearance:textfield;
".Я предпочитаю CSS, например:
Или
Вы также можете сделать это встроенным:
источник
Я смешал несколько ответов из ответов выше и из Как убрать стрелки из ввода [type = "number"] в Opera в scss:
источник
Это сработало для меня:
Решено в Firefox, Safari, Chrome. Кроме того,
-moz-appearance: textfield;
больше не поддерживается ( https://developer.mozilla.org/en-US/docs/Web/CSS/appearance )источник