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

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

由于明天公司组织出去游玩,今天把这两天的博客都写了吧,今天的内容是input[type=file] 样式美化,input上传按钮美化。

我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的,后面文章会总结。

思路:

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 第五条。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HTML input submit 美化指的是通过CSS样式来改变input submit按钮的外观,使其更加美观和符合网站的整体风格。可以通过修改按钮的背景色、边框、字体、大小等属性来实现美化。同时,也可以使用图片或图标来替代原有的按钮样式,从而达到更加独特的效果。 ### 回答2: HTML中的submit按钮通常是一个简单的灰色按钮,但是在一些情况下,我们可能需要将其美化,以便更好地搭配页面的整体风格。有几种实现方式可以将submit按钮美化。 1. CSS样式美化CSS中,可以为submit按钮应用自定义样式。可以改变按钮的背景色、字体颜色和形状等。通常,首先需要将按钮默认样式设置为隐藏,然后为按钮应用自定义样式。 例如: ``` input[type="submit"] { display: none; } button[type="submit"] { background-color: #2D9CDB; color: #FFFFFF; padding: 12px 24px; font-size: 18px; border-radius: 8px; border: none; } ``` 在此示例中,我们将input类型的submit按钮设置为隐藏,然后使用CSS样式为button类型的submit按钮应用自定义样式。 2. 使用图像 除了CSS样式之外,可以使用图像来美化submit按钮。可以使用Photoshop或其他图像编辑软件来创建美化按钮的图像,然后将该图像保存为.gif或.jpg格式的文件。然后,可以使用以下代码将该图像应用为submit按钮的背景图片。 例如: ``` input[type="submit"] { background: url(submit-btn.jpg); display: block; width: 200px; height: 50px; border: none; cursor: pointer; } ``` 在此示例中,我们将input类型的submit按钮的背景图片设置为submit-btn.jpg,并将按钮的宽度和高度设置为200px和50px。通过设置display:inline-block属性,将按钮显示设置为块级元素。 总的来说,美化submit按钮可以让页面与众不同,更具有吸引力和品牌特色。虽然存在多种方式来实现美化,但是需要注意的是,美化后的按钮依然需要保障页面的访问性,并且能够在各种设备上正确地显示。因此,需要在设计上考虑到各种设备的屏幕大小和浏览器兼容性。 ### 回答3: html input submit控件是web开发中经常使用的控件,因为其功能强大、易于使用,可以用于实现各种表单的提交操作。不过默认情况下,input submit的样式比较简单,单调不够美观。为了增强用户体验和美化网页,我们需要对input submit进行样式美化。 目前美化input submit的方式非常多,有很多优秀的CSS库可以使用,例如Bootstrap、Material Design等等。这些CSS库不仅能提供精美的样式,还能提高网页的响应速度和兼容性。 在进行input submit美化的过程中,我们可以采用一些常用的CSS样式,例如设置背景颜色、边框样式、字体大小、文字颜色等等。另外,可以通过使用伪类设置鼠标悬停、点击效果,增加交互性和美观性。 示例代码: ```html <style type="text/css"> input[type="submit"] { background-color: #4CAF50; border: none; color: white; padding: 15px 32px; text-align: center; font-size: 16px; margin: 4px 2px; cursor: pointer; -webkit-transition-duration: 0.4s; transition-duration: 0.4s; } input[type="submit"]:hover { background-color: #555555; color: white; } input[type="submit"]:active { background-color: #4CAF50; color: white; transform: translateY(4px); } </style> <input type="submit" value="Submit"> ``` 以上是一个示例代码,包含了设置背景颜色、边框、字体大小、鼠标悬停效果、点击效果等CSS属性,可以实现简洁美观的input submit。当然,这只是一个示例,美化过程是非常灵活的,可以根据具体的需求进行调整和改进。 总之,input submit美化是一个很好的优化用户体验的方式,通过增强界面的美观性和交互性,提高网站的品质和用户满意度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值