简短答案:
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中,这些元素上的(用户代理)-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;
}
<input type="number" min="4" max="8" />
在Chrome浏览器中查看,并看到一个典型的输入字段,该字段的侧面带有向上和向下箭头。