`
zzc1684
  • 浏览: 1224710 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

css input[type=file] 样式美化,input上传按钮美化

阅读更多

 

思路:

 

input file上传按钮的美化思路是,先把之前的按钮透明度opacity设置为0,然后,外层用div包裹,就实现了美化功能。

 

代码如下:

 

DOM结构:

 

<a href="javascript:;" class="a-upload">
    <input type="file" name="" id="">点击这里上传文件
</a>

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

 

 

CSS样式1:

 

/*a  upload */
.a-upload {
    padding: 4px 10px;
    height: 20px;
    line-height: 20px;
    position: relative;
    cursor: pointer;
    color: #888;
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    display: inline-block;
    *display: inline;
    *zoom: 1
}

.a-upload  input {
    position: absolute;
    font-size: 100px;
    right: 0;
    top: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    cursor: pointer
}

.a-upload:hover {
    color: #444;
    background: #eee;
    border-color: #ccc;
    text-decoration: none
}

 

 

样式2:

.file {
    position: relative;
    display: inline-block;
    background: #D0EEFF;
    border: 1px solid #99D3F5;
    border-radius: 4px;
    padding: 4px 12px;
    overflow: hidden;
    color: #1E88C7;
    text-decoration: none;
    text-indent: 0;
    line-height: 20px;
}
.file input {
    position: absolute;
    font-size: 100px;
    right: 0;
    top: 0;
    opacity: 0;
}
.file:hover {
    background: #AADFFD;
    border-color: #78C3F3;
    color: #004974;
    text-decoration: none;
}

 

修改后如下:

enter image description here

样式二:

enter image description here

备注:对于HTML5之input:file,还可以控制上传的类型的,但是这个是html5的,低版本浏览器不支持,详情请看:HTML5的 input:file上传类型控制 http://www.haorooms.com/post/input_file_leixing

美化后显示文件名

上面美化,把默认显示的文件名也给隐藏掉了,那么如何显示文件名称呢?没关系,我们可以用jquery来获取文件的文件名。

我们可以写个change事件

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

 

 

其他input美化文章

关于 input checkbox和radio样式美化,我也写了一篇文章,请看 http://www.haorooms.com/post/css_mh_ck_radio

还有input search 右侧有个关闭按钮的美化,可以看http://www.haorooms.com/post/qd_ghfx 第五条。

 

分享到:
评论

相关推荐

    如何将input type=file显示的浏览变成英文的

    1. **隐藏原生的 `&lt;input type="file"&gt;` 元素:** 使用CSS将原生的文件输入框隐藏起来。 ```html &lt;input type="file" name="picpath" id="picpath" style="display:none" onChange="document.formen.path.value=...

    input type=file 显示的浏览 改成英文

    在网页设计中,`&lt;input type="file"&gt;` 是HTML元素的一个重要部分,它用于创建一个文件上传控件。默认情况下,这个控件的文本提示和按钮是根据用户的操作系统语言来显示的,例如,在中文环境下会显示“浏览”或“选择...

    HTML input type=file文件选择表单元素.docx

    可以使用 label 元素与 file 控件关联,或者使用 CSS 来隐藏 file 元素,然后用一个好看的按钮来代替 file 元素。 七、accept 属性的作用 accept 属性可以用来指定浏览器接受的文件类型,也就是当我们打开系统的...

    css input[type=file] 样式美化(input上传文件样式 )

    本教程将详细介绍如何使用CSS对`input[type=file]`进行样式美化,使文件上传按钮更加符合网站的整体风格。 首先,我们来看一个简单的例子。在这个例子中,我们创建了两个不同的样式来展示如何自定义文件上传按钮: ...

    定义input type=file 样式的方法

    `&lt;input type="file"&gt;`被定位在模拟的文本框和按钮之上,通过CSS设置`opacity: 0`或`filter: alpha(opacity: 0)`使其不可见,同时保留其功能。 对应的CSS样式可能如下: ```css .file-box { position: relative; ...

    file input 按钮国际化

    对于file input按钮,可以通过设置`&lt;input type="file" lang="zh-CN"&gt;`来显示中文版本,但遗憾的是,浏览器默认的按钮文本并不会因此改变。 2. **CSS替换文本**:利用CSS的伪元素`::before`和`::after`,我们可以...

    文件上传input file简便美化方案(css)

    首先,我们要理解在不同浏览器中文件上传input(&lt;input type="file"&gt;)的表现形式存在差异,这主要是由于各个浏览器对HTML和CSS的解释以及渲染方式不同所致。为了达到在多浏览器中表现一致的效果,需要借助于CSS样式...

    怎样让input type=file 只读,并能实现文件上传

    ### 如何使 input type=file 只读并实现文件上传 在网页开发中,有时我们需要让用户选择一个文件但不允许他们更改已选择的文件。这通常是为了防止用户在提交表单前临时更改文件,从而确保文件的一致性和安全性。...

    input file选择文件之后自动上传(样式自定义美化)

    "input file选择文件之后自动上传(样式自定义美化)"这个主题聚焦于一个常见但有时被忽视的用户体验改进点:如何在用户选择文件后立即启动上传,并且在上传过程中保持界面的美观与友好。下面将详细介绍这一过程涉及...

    上传控件input file 样式美化

    通过以上方法,我们可以对`&lt;input type="file"&gt;`上传控件进行样式美化,创建出符合网页设计风格的上传界面。但请注意,虽然我们可以改变控件的外观,但其核心功能和交互仍受浏览器安全策略的限制。在设计时,要兼顾...

    HTML中文件上传时使用的input type=”file”元素的样式自定义

    这可以通过设置`.fileinput-button`类的CSS样式完成,例如设置`position: relative`和`display: inline-block`,然后将`&lt;input type="file"&gt;`元素的`position`设为`absolute`,并将其`right`和`top`属性设置为0,使...

    00type=file导入文件按钮样式修改的jsp代码-完美好

    总结来说,"00type=file导入文件按钮样式修改的jsp代码-完美好"涉及了HTML、CSS和JavaScript(可能包括jQuery)的结合应用,以改善Web表单中的文件上传功能。通过自定义样式和添加交互逻辑,我们可以使原本单调的...

    Ajax Upload文件上传插件 替代(<input type=”file” />)上传图片

    它通过JavaScript、HTML和Ajax技术,提供了一种用户友好的文件上传体验,可以替代传统的`&lt;input type="file" /&gt;`标签,使得文件上传过程更加流畅且交互性更强。这种技术在Web开发中广泛应用,尤其在社交媒体、图像...

    html修改FileUpload控件的浏览按钮的文字改为自定义

    默认情况下,当我们在HTML中使用`&lt;input type="file"&gt;`来创建一个文件选择器时,浏览器通常会显示一个默认样式的“浏览”按钮,用于打开文件选择对话框。然而,对于追求美观和统一界面风格的开发者来说,这样的默认...

    CSS美化 input type=file 兼容各个浏览器

    在网页设计中,CSS美化`&lt;input type="file"&gt;`元素常常是一项挑战,因为不同的浏览器对这个元素的默认样式和行为处理方式各异。为了解决这个问题,开发者们需要找到一种跨浏览器的解决方案来统一表现。这里介绍一种纯...

    只修改input file组件的浏览按钮样式

    本文将详细探讨如何仅修改`&lt;input type="file"&gt;`组件中的“浏览”按钮样式,而不改变文件输入框本身的外观。 #### 一、问题背景与需求分析 在实际项目中,我们常常需要一个美观且功能完整的文件上传组件。然而,...

    js input file多个文件上传功能.zip

    在JavaScript(JS)中,实现一个输入元素`&lt;input type="file"&gt;`的多文件上传功能是一项常见的需求,尤其在Web开发中。这个"js input file多个文件上传功能.zip"包含了一个实现这一功能的代码示例,适用于图片和其他...

Global site tag (gtag.js) - Google Analytics