number类型input限制长度+隐藏上下箭头

html-css017

number类型input限制长度+隐藏上下箭头,第1张

限制长度示例(限制输入最大长度为10):

<input type="number" oninput="if(value.length>10)value=value.slice(0,10)" />

隐藏上下箭头示例(CSS):

input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {-webkit-appearance: nonemargin: 0}

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

2

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

3

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

4

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

)前图是css,后图是在火狐下的截图

5

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

6

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