由于明天公司组织出去游玩,今天把这两天的博客都写了吧,今天的内容是input[type=file] 样式美化,input上传按钮美化。
我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的,后面文章会总结。
思路:
input file上传按钮的美化思路是,先把之前的按钮透明度opacity设置为0,然后,外层用div包裹,就实现了美化功能。
代码如下:
DOM结构:
<ahref="javascript:;"class="a-upload"><inputtype="file"name=""id="">点击这里上传文件
</a><ahref="javascript:;"class="file">选择文件
<inputtype="file"name=""id=""></a>
CSS样式1:
/*a upload */.a-upload {
padding:4px10px;
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:4px12px;
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();returnfalse}})
其他input美化文章
关于 input checkbox和radio样式美化,我也写了一篇文章,请看 http://www.haorooms.com/post/css_mh_ck_radio
还有input search 右侧有个关闭按钮的美化,可以看http://www.haorooms.com/post/qd_ghfx 第五条。
转载:http://www.haorooms.com/post/css_input_uploadmh
相关推荐
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"包含了一个实现这一功能的代码示例,适用于图片和其他...