修改 input type=file 的样式的最简单方法
很多人说网页中<input type="file">的样式是很难修改的,事实上也是,bootstrap也没用对其有什么美化,但是那么丑,要怎么修改呢?其实很简单!!!很多人都想复杂了。先卖个关子,有些人是这么做的,另外写一个按钮的样式,然后将自己写的按钮和这个默认的样式的定位改为重合,并将默认的按钮设置opacity:0,即设置透明度为完全透明,这样
很多人说网页中<input type="file">的样式是很难修改的,事实上也是,bootstrap也没用对其有什么美化,但是那么丑,要怎么修改呢?
其实很简单!!!很多人都想复杂了。
先卖个关子,有些人是这么做的,另外写一个按钮的样式,然后将自己写的按钮和这个默认的样式的定位改为重合,并将默认的按钮设置opacity:0,即设置透明度为完全透明,这样就可以在表面上是点击自己定义的样式,而实际上是点击input这个按钮。这正是这篇博客所说:https://blog.csdn.net/dear_mr/article/details/56040549
可是让这两个东西完全重合,不是很麻烦的一件事情么,这个想法可以去回答知乎的:有哪些看似精妙实际很蠢的设计 
从上面的方法中得到了如下思路,下面进入最简单的方法:
1、重写一个新的样式
2、将默认样式设置display:none;,即设为不可见
3、在js里调用:当点击新样式的时候,调用这个input的点击事件
这就完啦!!!何必还要多此一举将两个东西设为完全重合呢,写新样式就完全可以放飞自我啦
下面附上简单的代码吧,我的js用了jquery框架
html
<div class="head-img">
<img src="./imgs/王小波.jpg" id="my-img">
<input type="file" id="img-upload"/>
</div>
css
.head-img{
text-align: center;
}
#img-upload{
display: none;
}
js/jquery
$(document).ready(function(){
$('#my-img').click(function(){
$('#img-upload').click();
});
});
效果如下图,点击王小波的皂片就可以弹出文件选择框啦 
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐
所有评论(0)