当前位置: 首页 > article >正文

CSS优化file控件样式

在这里插入图片描述

        <div class="file-box">
          <input type="button" class="btn" value="选择文件" />
          <input
            type="file"
            class="file"
            id="upimg"
            @change="previewFiles"
            multiple
          />
        </div>
  <!-- Vue就直接用@change="previewFiles"读取文件回调 --!>
// vue读取
function previewFiles(e){
	console.log(e.target.files)
}
 
// 原生监听
var upimg = document.getElementById('upimg');

upimg.addEventListener('change', function(e){
	        // 多文件
           console.log(e.target.files)
           // 单文件
           // console.log(e.target.files[0])
    }, false);


.btn,
.file {
   // display: block;
  position: absolute;
  width: 75px;
  height: 35px;
  color: #fff;
  border-radius: 4px;
  border-color: #409eff;
}

.btn {
  z-index: 2;
  background: #409eff;  /*  #66b1ff    409eff */
  pointer-events: none; /* 让事件传递到下一层,即: btn的层级比file高,但btn能触发file的事件 */
}
.file {
  z-index: 1;
}

用button覆盖input,也就是buttton的z-index层级比input高,最重要的一步是给button添加"pointer-events: none;" 属性, 把事件传递到下一层,即button可以触发input的事件


http://www.kler.cn/a/398777.html

相关文章:

  • 大数据如何助力干部选拔的公正性
  • Android加载pdf
  • js导入导出
  • vue3中pinia状态管理库使用以及持久化配置方法总结
  • Python爬虫----python爬虫基础
  • 什么是PostgreSQL,有什么特点
  • 【动手学深度学习Pytorch】1. 线性回归代码
  • [CKS] 执行Pod安全标准
  • 酒水分销积分商城小程序开发方案php+uniapp
  • go module使用
  • 使用win32com将ppt(x)文件转换为pdf文件
  • 【windows】校园网AP隔离解决方案笔记-解决校内设备之间无法互相通信的臭毛病-附破解程序
  • CC2学习记录
  • Rust: 原子操作大全
  • antdesign对话框输出html格式
  • RHCE的学习(21)
  • Nuget For Unity插件介绍
  • Hadoop的汽车销量数据分析系统
  • Linux 实现TCP并发服务器
  • 大模型呼叫中心,如何建设呼入机器人系统?
  • Ceph后端两种存储引擎介绍
  • FreeRTOS学习13——任务相关API函数
  • 《Django 5 By Example》阅读笔记:p76-p104
  • 20.useMediaQuery
  • HTTP 请求方式
  • 从零入门激光SLAM(二十三)——direct_visual_lidar_calibration全型号激光雷达-相机标定包