当我们想要用css美化表单的时候,有两个控件就会和前段人员作对,一个是是大名鼎鼎的select,另一个就是我现在要说说的inputtype=file
为什么要美化file控件?试想一下,别的孩子都穿戴整齐漂亮,其中两个孩子怎么都不鸟你,太不了。

原始的file控件是这样的:

别以为这个是由一个text和一个button组合成的,它是一个控件,html代码为:

 
<input type="file" name="file" />

既然这样我们就用一个text和一个button来显示这个file的样式,html代码是这样:

 
<div class="file-box">
<form action="" method="post" enctype="multipart/form-data">
<input type='text' name='textfield' id='textfield' class='txt' />
<input type='button' class='btn' value='浏览...' />
<input type="file" name="fileField" class="file" id="fileField" size="28" onchange="document.getElementById('textfield').value=this.value" />
<input type="submit" name="submit" class="btn" value="上传" />
</form>
</div>

外面的一层div是为了给里面的input提供位置参考,因为写样式的时候需要相对定位,使真正的file控件覆盖在模拟的上面,然后隐藏掉file控件(即使file控件不可见),所以css代码是这样的:

 
.file-box{ position:relative;width:340px}
.txt{ height:22px; border:1px solid #cdcdcd; width:180px;}
.btn{ background-color:#FFF; border:1px solid #CDCDCD;height:24px; width:70px;}
.file{ position:absolute; top:0; right:80px; height:24px; filter:alpha(opacity:0);opacity: 0;width:260px }

效果图:

最后留下一个DEMO:点击查看demo



<script language="JavaScript">ffcod = delpost.runcode15 .value; ffcod = ffcod.replace(/
/g,''); delpost.runcode15 .value = ffcod;</script> 提示:您可以先修改部分代码再运行

最新资讯
汽车之家通过港交所上市聆讯 2020年净利润5.22亿美元

汽车之家通过港交所上

据港交所文件:汽车之家通过港交所上市聆讯。
三只松鼠:累计回购公司股份229.70万股 占公司总股本的0.57%

三只松鼠:累计回购公司

三只松鼠发布公告称,截至2021年2月28日,公司通过股票回
北京首批纳入押金托管住房租赁企业名单公布:包括自如等8家

北京首批纳入押金托管

3月1日,北京房地产中介行业协会公布了率先纳入押金托管
完美世界:累计回购股份503.07万股,占总股本的0.26%

完美世界:累计回购股份

完美世界发布公告称,截至2021年2月28日,公司通过集中竞
联想蝉联印度平板冠军 市场占有率近40%

联想蝉联印度平板冠军

联想集团2020年印度平板市场出货量增长6.6%,市场份额接
特斯拉上海超级工厂或扩建 产能有望进一步提升

特斯拉上海超级工厂或

继2月初特斯拉上海超级充电桩工厂落成投产后,特斯拉上
最新文章
详解HTML中字体使用line-height依然不能垂直居中解决办法

详解HTML中字体使用li

这篇文章主要介绍了详解HTML中字体使用line-height依
html直接引用vue和element-ui的方法

html直接引用vue和ele

这篇文章主要介绍了html直接引用vue和element-ui的方
在HTML里加载摄像头的方法

在HTML里加载摄像头的

这篇文章主要介绍了如何在HTML里加载摄像头,本文通过实
html父子页面iframe双向发消息的实现示例

html父子页面iframe双

这篇文章主要介绍了html父子页面iframe双向发消息的实
HTML用户注册页面设置源码

HTML用户注册页面设置

这篇文章主要介绍了HTML用户注册页面设置源码,代码简
当div设置contentEditable=true时,重置其内容后无法光标定位

当div设置contentEdit

这篇文章主要介绍了解决当div设置contentEditable=tru