css实现HTML文件上传的美化效果

初始样式效果:
这里写图片描述
这种效果在不同浏览器中显示的还不相同.下面我们开始对其进行美化:
基本思路:先将之前按钮的透明度opacity设置为0,然后,在外层用div遮盖,就实现了美化功能。
实现代码:
1.html代码段:

<form action="" method="post">
<a href="javascript:;" class="file">选择文件
    <input type="file" name="" id="">
</a>
<input type="submit" value="上传文件">
</form>

2.css代码段:

<style type="text/css">
        .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;/*相对定位*/
            right: 0;
            top: 0;
            opacity: 0;/*将上传组件设置为透明的*/
            font-size: 100px;
        }
        .file:hover {
            background: #AADDFF;
            border-color: #78C3F3;
            color: #004974;
            text-decoration: none;
        }
    </style>

3.美化后的效果图:
这里写图片描述

这种美化低版本浏览器可能不支持!

我也是刚刚用到的,希望对大家有所帮助,

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
美化HTML中的文件上传,可以使用CSS样式来调整`<input>`标签的外观,代码如下: ```html <label for="upload" class="file-upload"> <i class="fa fa-cloud-upload"></i> 选择文件 </label> <input type="file" id="upload" name="upload" class="hidden"> ``` 上述代码中,`<label>`标签通过`for`属性与`<input>`标签建立了关联,点击`<label>`标签时,会自动触发`<input>`标签的点击事件。`<i>`标签使用了Font Awesome图标库中的`fa-cloud-upload`图标,表示上传文件的操作。`class="hidden"`用于隐藏`<input>`标签,只留下`<label>`标签和`<i>`标签进行样式设置,以达到美化效果。 接下来,使用CSS样式对`<label>`标签和`<i>`标签进行样式设置,代码如下: ```css .file-upload { display: inline-block; background-color: #3498db; color: #fff; border-radius: 4px; padding: 6px 12px; cursor: pointer; font-size: 14px; } .file-upload:hover { background-color: #2980b9; } .file-upload i { margin-right: 6px; } ``` 上述代码中,`.file-upload`类用于设置`<label>`标签的样式,包括背景颜色、字体颜色、圆角、内边距、鼠标指针样式等。`.file-upload:hover`类用于设置鼠标悬停时的样式。`.file-upload i`类用于设置`<i>`标签的样式,包括右侧间距等。 最后,使用JavaScript代码来处理文件选择后的显示效果,代码如下: ```javascript document.getElementById("upload").onchange = function() { document.getElementById("selected-file").innerHTML = this.value; }; ``` 上述代码中,当用户选择文件后,会自动触发`onchange`事件,在该事件中获取到用户选择的文件路径,并更新页面上的显示效果。具体来说,使用`document.getElementById("upload")`获取到`<input>`标签,然后设置`onchange`事件的处理函数。在处理函数中,使用`document.getElementById("selected-file")`获取到显示文件路径的元素,然后将其内部HTML内容设置为用户选择的文件路径。需要注意的是,为了让用户能够自由选择文件,需要将`<input>`标签的`id`属性设置为`"upload"`。同时,需要在页面中添加一个用于显示文件路径的元素,代码如下: ```html <label for="upload" class="file-upload"> <i class="fa fa-cloud-upload"></i> 选择文件 </label> <input type="file" id="upload" name="upload" class="hidden"> <span id="selected-file"></span> ``` 上述代码中,`<span>`标签用于显示用户选择的文件路径,初始时为空。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值