Resposta curta:
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" />
Resposta mais longa:
Para adicionar à resposta existente ...
Raposa de fogo:
Nas versões atuais do Firefox, o valor padrão (agente do usuário) da -moz-appearance
propriedade nesses elementos é number-input
. Alterar isso para o valor textfield
efetivamente remove o botão giratório.
input[type="number"] {
-moz-appearance: textfield;
}
Em alguns casos, convém que o botão giratório fique oculto inicialmente e apareça em foco / foco. (Este é atualmente o comportamento padrão no Chrome). Nesse caso, você pode usar o seguinte:
input[type="number"] {
-moz-appearance: textfield;
}
input[type="number"]:hover,
input[type="number"]:focus {
-moz-appearance: number-input;
}
<input type="number"/>
Cromada:
Nas versões atuais do Chrome, o valor padrão (agente do usuário) da -webkit-appearance
propriedade nesses elementos já é textfield
. Para remover o controle giratório, o -webkit-appearance
valor da propriedade precisa ser alterado para none
nas ::-webkit-outer-spin-button
/ ::-webkit-inner-spin-button
pseudo classes (é -webkit-appearance: inner-spin-button
por padrão).
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
<input type="number" />
Vale ressaltar que margin: 0
é usado para remover a margem nos antigos versões antigas do Chrome.
Atualmente, ao escrever isso, aqui está o estilo padrão do agente do usuário na pseudo classe '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;
}
<input type="number" min="4" max="8" />
Chrome e vendo um campo de entrada típico com as setas para cima e para baixo ao lado.