input(file)样式修改及上传文件名显示

实现思路:

  1. a标签包裹input元素
  2. 设置a标签为上传按钮的样式,相对定位
  3. 设置input为透明,绝对定位,覆盖到a上面

效果:看到的按钮是a的样式,点击时实际是点击input元素。样式和功能都具备

html代码:

<a href="javascript:;" class="file gradient">选择文件   <input type="file" > </a>

CSS代码:

.file {
    position: relative;
    display: inline-block;
    background: #ccc;
    border: 1px solid #333;
    padding: 4px 20px;
    overflow: hidden;
    text-decoration: none;
    text-indent: 0;
    line-height: 20px;
    border-radius: 20px;
    color: #333;
    font-size: 13px;

}
.file input {
    position: absolute;
    font-size: 100px;
    right: 0;
    top: 0;
    opacity: 0;
}
 
.gradient{

    filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#fff,endcolorstr=#ccc,gradientType=0);
    -ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#fff,endcolorstr=#ccc,gradientType=0);/*IE8*/
    background:#ccc; /* 一些不支持背景渐变的浏览器 */
    background:-moz-linear-gradient(top, #fff, #ccc);
    background:-webkit-gradient(linear, 0 0, 0 bottom, from(#fff), to(#ccc));
    background:-o-linear-gradient(top, #fff, #ccc);
}

效果:

此时上传文件的文件名不显示,需要用js处理:

$(".file").on("change","input[type=‘file‘]",function(){
    var filePath=$(this).val();
    if(filePath.indexOf("jpg")!=-1 || filePath.indexOf("png")!=-1){
        $(".fileerrorTip1").html("").hide();
        var arr=filePath.split(‘\\‘);
        var fileName=arr[arr.length-1];
        $(".showFileName1").html(fileName);
    }else{
        $(".showFileName1").html("");
        $(".fileerrorTip1").html("您未上传文件,或者您上传文件类型有误!").show();
        return false
    }
})

效果:

时间: 2024-07-29 20:47:27

input(file)样式修改及上传文件名显示的相关文章

input[tyle=&quot;file&quot;]样式修改及上传文件名显示

默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格…… 实现方法和思路: 1.在input元素外加a超链接标签 2.给a标签设置按钮样式 3.设置input[type='file']为透明,并定位,覆盖在a上面 html代码: <a class="input-file input-fileup" href="javascript:;"> + 选择文件<input size="100" type="f

input file样式,文件路径、文件名的获取

http://blog.csdn.net/comikey/article/details/8954479 解决思路是把input 放在文字的上边,弄成透明的,这样在点文字时,实际是点击了input,这样就实现了文件的上传.是不是很简单呀. 具体代码: <style> #uploadImg{ font-size:12px; overflow:hidden; position:absolute} #file{ position:absolute; z-index:100; margin-left:

input file美化,文件上传

此文学习至:http://www.haorooms.com/post/input_file_leixing 然而只会用,不会做,UI泪茫茫 效果图: 原图: 美化后: 此主要用css美化表单,然后用Jq提交表单 1.css <style> .a-upload { padding: 4px 4px 10px 10px; height: 25px; line-height: 20px; position: relative; cursor: pointer; color: #888; backgr

h5 input file ajax实现文件上传

<input type="file" accept="image/*" height="0" class="file_input" id="file_input_ss_0" multiple>  文件域 遇到的几个BUG 已经解决 1 多选文件域,如果没有上传成功或已上传成功,再次点击文件域名选择图片时,会累积上次的文件. 例如 第一次上传1.jpg  第二次点击上传 2.jpg 第二次的上传结

input.file样式修改

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的使用此标签进行解析附件内容,后台只要声明String类型变量用来存储附件名称,Blob类型变量用来存储附件的内容即可. 但是当我们的项目整体使用第三方的前端框架,例如VUE或者angular等前端框架时,有时使用apex:inputFile反而不是很方便,需要用到html的原生的附件上传的标签<inpu

自定义input file样式

自定义input file样式:一般都是通过隐藏input,通过定义label来实现.这种做法要注意的是label的for属性要指定input对应的id; <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #file { display: none;

kindeditor扩展粘贴图片功能&amp;修改图片上传路径并通过webapi上传图片到图片服务器

前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功能 kindeditor修改图片上传路径并通过webapi上传图片到图片服务器(支持分布式图片) 结果演示 1.扩展粘贴图片功能演示 2.修改图片上传路径演示: 我们的网站演示地址是:http://localhost:9393/ 我们的图片服务器地址是:http://localhost:9394/

ueditor 百度编辑器 自定义图片上传路径和格式化上传文件名

今天项目中需要自定义图片上传的保存路径,并且不需要按照日期自动创建存储文件夹和文件名,我的ueditor版本是1.3.6.下面记录一下我配置成功的方法,如果有什么不对的地方欢迎指出,共同学习: 1:我在本地项目的根目录下新建一个文件夹,比如:upload. 2:打开ueditor/php/config.php,改成如下代码后保存: <?php return array( //图片上传允许的存储目录 /*'imageSavePath' => array ( 'upload1', 'upload2