如何移除 input type="number" 时浏览器自带的上下箭头

2025-04-28 18:40:41
推荐回答(1个)
回答1:

首先,我编辑一个最简单的input,为了方便介绍,加上一点margin样式,然后这次主要研究type="number"下的兼容,所以input 的type设置为number。具体见图,这些都是写在html中

运行后,在浏览器里面看下效果,下面分别是谷歌(鼠标移到框内才会有箭头)、火狐、ie9下的效果,其他浏览器你也可以自己测试下看看,我测试了几个几乎跟火狐的差不多,所以就不贴图了。

然后,我写上如图的css去掉在谷歌下面的箭头(input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{ -webkit-appearance: none !important; })此时,鼠标移动到框内框外都没有上下箭头了,前图是css,后图是在谷歌下的截图

再写上如图的css去掉在火狐下面的箭头(input[type="number"]{-moz-appearance:textfield;}
)前图是css,后图是在火狐下的截图

然后我们再写入自己想要的样式,很多时候我们会遇到要把input设置成不可编辑的情况,即 disabled="disabled",此时样式又要改了,否则各浏览器不兼容。先来看看写完disabled后在各浏览器里的表现,仍然还是谷歌、火狐、ie9

我们再次对input的样式进行编辑,因为ie中文字颜色是灰色,所以这里我们文字也用灰色,我大概取了个#aaa的颜色,虽然不是100%一样,但是已经很近似了。