思路:
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; }
修改后如下:
样式二:
备注:对于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 第五条。
相关推荐
1. **隐藏原生的 `<input type="file">` 元素:** 使用CSS将原生的文件输入框隐藏起来。 ```html <input type="file" name="picpath" id="picpath" style="display:none" onChange="document.formen.path.value=...
在网页设计中,`<input type="file">` 是HTML元素的一个重要部分,它用于创建一个文件上传控件。默认情况下,这个控件的文本提示和按钮是根据用户的操作系统语言来显示的,例如,在中文环境下会显示“浏览”或“选择...
可以使用 label 元素与 file 控件关联,或者使用 CSS 来隐藏 file 元素,然后用一个好看的按钮来代替 file 元素。 七、accept 属性的作用 accept 属性可以用来指定浏览器接受的文件类型,也就是当我们打开系统的...
本教程将详细介绍如何使用CSS对`input[type=file]`进行样式美化,使文件上传按钮更加符合网站的整体风格。 首先,我们来看一个简单的例子。在这个例子中,我们创建了两个不同的样式来展示如何自定义文件上传按钮: ...
`<input type="file">`被定位在模拟的文本框和按钮之上,通过CSS设置`opacity: 0`或`filter: alpha(opacity: 0)`使其不可见,同时保留其功能。 对应的CSS样式可能如下: ```css .file-box { position: relative; ...
对于file input按钮,可以通过设置`<input type="file" lang="zh-CN">`来显示中文版本,但遗憾的是,浏览器默认的按钮文本并不会因此改变。 2. **CSS替换文本**:利用CSS的伪元素`::before`和`::after`,我们可以...
首先,我们要理解在不同浏览器中文件上传input(<input type="file">)的表现形式存在差异,这主要是由于各个浏览器对HTML和CSS的解释以及渲染方式不同所致。为了达到在多浏览器中表现一致的效果,需要借助于CSS样式...
### 如何使 input type=file 只读并实现文件上传 在网页开发中,有时我们需要让用户选择一个文件但不允许他们更改已选择的文件。这通常是为了防止用户在提交表单前临时更改文件,从而确保文件的一致性和安全性。...
"input file选择文件之后自动上传(样式自定义美化)"这个主题聚焦于一个常见但有时被忽视的用户体验改进点:如何在用户选择文件后立即启动上传,并且在上传过程中保持界面的美观与友好。下面将详细介绍这一过程涉及...
通过以上方法,我们可以对`<input type="file">`上传控件进行样式美化,创建出符合网页设计风格的上传界面。但请注意,虽然我们可以改变控件的外观,但其核心功能和交互仍受浏览器安全策略的限制。在设计时,要兼顾...
这可以通过设置`.fileinput-button`类的CSS样式完成,例如设置`position: relative`和`display: inline-block`,然后将`<input type="file">`元素的`position`设为`absolute`,并将其`right`和`top`属性设置为0,使...
总结来说,"00type=file导入文件按钮样式修改的jsp代码-完美好"涉及了HTML、CSS和JavaScript(可能包括jQuery)的结合应用,以改善Web表单中的文件上传功能。通过自定义样式和添加交互逻辑,我们可以使原本单调的...
它通过JavaScript、HTML和Ajax技术,提供了一种用户友好的文件上传体验,可以替代传统的`<input type="file" />`标签,使得文件上传过程更加流畅且交互性更强。这种技术在Web开发中广泛应用,尤其在社交媒体、图像...
默认情况下,当我们在HTML中使用`<input type="file">`来创建一个文件选择器时,浏览器通常会显示一个默认样式的“浏览”按钮,用于打开文件选择对话框。然而,对于追求美观和统一界面风格的开发者来说,这样的默认...
在网页设计中,CSS美化`<input type="file">`元素常常是一项挑战,因为不同的浏览器对这个元素的默认样式和行为处理方式各异。为了解决这个问题,开发者们需要找到一种跨浏览器的解决方案来统一表现。这里介绍一种纯...
本文将详细探讨如何仅修改`<input type="file">`组件中的“浏览”按钮样式,而不改变文件输入框本身的外观。 #### 一、问题背景与需求分析 在实际项目中,我们常常需要一个美观且功能完整的文件上传组件。然而,...
在JavaScript(JS)中,实现一个输入元素`<input type="file">`的多文件上传功能是一项常见的需求,尤其在Web开发中。这个"js input file多个文件上传功能.zip"包含了一个实现这一功能的代码示例,适用于图片和其他...