首先,我编辑一个最简单的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%一样,但是已经很近似了。
使用
当然,其他任意方向也是可以的,只需要控制旋转角度rotate即可。原理是构造了一个正方形,隐藏了其中的两条边left和bottom,然后进行旋转。
通过使用正方形左下两条边,并向下向右平移,再旋转,得到一个向下并居中的箭头
你可以做一个带箭头的div;然后样式如下:div
{
/* 箭头的样式,你自己设计,下面是旋转的样式*/
transform:rotate(90deg)
-ms-transform:rotate(90deg)/* Internet Explorer */
-moz-transform:rotate(90deg)/* Firefox */
-webkit-transform:rotate(90deg)/* Safari 和 Chrome */
-o-transform:rotate(90deg)/* Opera */
}
这个是CSS3,所以浏览器并不是都兼容的。上面的deg就是角度单位度。