下面我将详细讲解“利用label标签和CSS美化文件上传表单(不兼容IE6)”的完整攻略:
- HTML部分
首先,我们需要在HTML中定义一个文件上传表单,并使用label标签包裹住文件上传按钮。
示例代码:
<form>
<label for="file-upload" class="custom-file-upload">
<i class="fa fa-cloud-upload"></i> 选择文件
</label>
<input id="file-upload" type="file"/>
</form>
- CSS部分
接着,我们需要使用CSS来美化文件上传表单。具体步骤如下: - 隐藏文件上传按钮,只显示自定义的label按钮。
- 为label按钮添加背景颜色、边框等样式。
- 为label按钮添加hover和active状态下样式。
示例代码:
/* 隐藏原始的文件上传按钮 */
input[type="file"] {
display: none;
}
/* 自定义文件上传按钮的样式 */
label.custom-file-upload {
display: inline-block;
cursor: pointer;
color: #fff;
background-color: #2196F3;
border-color: #2196F3;
padding: 6px 12px;
border-radius: 4px;
font-size: 14px;
line-height: 1.42857143;
}
/* 鼠标悬浮和点击时的样式 */
label.custom-file-upload:hover {
background-color: #0c7cd5;
border-color: #0c7cd5;
}
label.custom-file-upload:active {
background-color: #0562b0;
border-color: #0562b0;
}
好了,以上就是“利用label标签和CSS美化文件上传表单(不兼容IE6)”的完整攻略了。
另外,我再提供一个新增删除附件的示例,代码如下:
<form>
<div class="input-group">
<label for="file-upload" class="custom-file-upload">
<i class="fa fa-cloud-upload"></i> 选择文件
</label>
<input id="file-upload" type="file" multiple/>
</div>
<div id="files">
<p>已选择的文件:</p>
</div>
</form>
<script>
$(function() {
// 监听选择文件
$('input[type=file]').on('change', function() {
// 遍历已选文件
var files = $(this)[0].files;
var html = '';
for(var i=0; i<files.length; i++) {
var file = files[i];
html += '<div class="file-item"><span class="file-name">'+file.name+'</span><span class="file-size">'+(file.size/1024).toFixed(2)+'KB</span><a href="#" class="delete-file" data-index="'+i+'">删除</a></div>';
}
$('#files').append(html);
});
// 删除已选文件
$('#files').on('click', '.delete-file', function() {
var index = $(this).data('index');
$(this).parent('.file-item').remove();
$('input[type=file]')[0].value = ''; // 解决相同文件不能连续选择的问题
});
});
</script>
<style>
.input-group {
display: flex;
align-items: center;
}
.file-item {
display: flex;
align-items: center;
margin-bottom: 6px;
}
.file-item .file-name {
flex: 1;
margin-right: 10px;
}
.file-item .delete-file {
color: red;
margin-left: 10px;
}
</style>
以上就是关于新增删除附件的示例,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用label标签和CSS美化文件上传表单(不兼容IE6) - Python技术站