/* 重置表单元素样式 */
.file-upload-wrapper {
position: relative;
overflow: hidden;
display: inline-block;
}
.file-upload-input {
font-size: 100px;
position: absolute;
left: 0;
top: 0;
opacity: 0;
}
.file-upload-button {
display: block;
padding: 10px 20px;
background-color: #6573e3;
color: white;
border: none;
text-transform: uppercase;
letter-spacing: 1px;
border-radius: 5px;
transition: background-color 0.3s ease;
cursor: pointer;
}
.file-upload-button:hover {
background-color: #5e6aeb;
}
/* 示例的HTML结构 */
<div class="file-upload-wrapper">
<button type="button" class="file-upload-button">选择文件</button>
<input type="file" class="file-upload-input" onchange="uploadFile(this)" />
</div>
<script>
function uploadFile(input) {
// 处理文件上传的逻辑
if (input.files && input.files[0]) {
const file = input.files[0];
// 继续处理文件
}
}
</script>
这个代码实例展示了如何使用CSS和HTML创建一个优化后的文件上传控件,并附带了一个简单的JavaScript函数用于处理文件上传的逻辑。这个例子提供了一个按钮和一个隐藏的文件输入元素,当用户点击按钮时触发文件输入的上传功能。通过CSS,我们隐藏了原生的文件输入样式,并为按钮提供了一个更友好的自定义样式。