Краткий ответ:
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" />
Более длинный ответ:
Добавить к существующему ответу ...
Firefox:
В текущих версиях Firefox значение (пользовательский агент) по умолчанию свойства -moz-appearance
для этих элементов равно number-input
. Изменение этого значения на textfield
эффективно удаляет счетчик.
input[type="number"] {
-moz-appearance: textfield;
}
В некоторых случаях вы можете захотеть, чтобы вращатель был скрыт , первоначально , а затем появлялся при наведении / фокусировке. (В настоящее время это поведение по умолчанию в Chrome). Если это так, вы можете использовать следующее:
input[type="number"] {
-moz-appearance: textfield;
}
input[type="number"]:hover,
input[type="number"]:focus {
-moz-appearance: number-input;
}
<input type="number"/>
Chrome:
В текущих версиях Chrome значение (пользовательский агент) по умолчанию свойства -webkit-appearance
для этих элементов уже равно textfield
. Чтобы удалить счетчик, необходимо изменить значение свойства -webkit-appearance
на none
в псевдоклассах ::-webkit-outer-spin-button
/ ::-webkit-inner-spin-button
(по умолчанию -webkit-appearance: inner-spin-button
).
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
<input type="number" />
Стоит отметить, что margin: 0
используется для удаления поля в старых версиях Chrome.
В настоящий момент, на момент написания этой статьи, здесь используется стили пользовательского агента по умолчанию для псевдокласса 'inner-spin-button':
input::-webkit-inner-spin-button {
-webkit-appearance: inner-spin-button;
display: inline-block;
cursor: default;
flex: 0 0 auto;
align-self: stretch;
-webkit-user-select: none;
opacity: 0;
pointer-events: none;
-webkit-user-modify: read-only;
}