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

JavaScript方法修改 input type=file 样式

html中的<input type = "file">的样式很难修改,又跟页面风格很不匹配。我就尝试了几种方法,但是不管是用label还是用opacity:0都很麻烦,还老是出问题,所以最后还是用JavaScript来解决。

下面附上代码:

html:

<div id="custom_upload">Upload Photos</div>
<input type="file" id="uploadImg"/>

css:

#uploadImg{display:none;
}
#custom_upload{width:180px;height:40px;font-size:20px;text-align:center;padding-top:10px;cursor:pointer;border: 1px solid #99c2ed;border-radius: 5px;box-shadow:3px 3px 0px 0px #99c2ed;
}
#custom_upload:hover{background-color: #daedff;
}

JavaScript:

document.addEventListener('DOMContentLoaded',function(){var customUpload = document.getElementById('custom_upload')var uploadImage = document.getElementById('uploadImg');customUpload.addEventListener('click',function(){uploadImage.click();});
});

完成后按钮能正常点击,样式如下:

相关文章:

JavaScript方法修改 input type=file 样式

html中的<input type "file">的样式很难修改&#xff0c;又跟页面风格很不匹配。我就尝试了几种方法&#xff0c;但是不管是用label还是用opacity:0都很麻烦&#xff0c;还老是出问题&#xff0c;所以最后还是用JavaScript来解决。 下面附上代码&#xff1a;…...

群控系统服务端开发模式-应用开发-前端个人信息功能

个人信息功能我把他分为了3部分&#xff1a;第一部分是展示登录者信息&#xff1b;第二步就是登录者登录退出信息&#xff1b;第三部分就是修改个人资料。 一、展示登录者信息 1、优先添加固定路由 在根目录下src文件夹下route文件夹下index.js文件中&#xff0c;添加如下代码 …...

【jupyter】文件路径的更改

使用过 jupyter notebook 环境的同行&#xff0c; 都体会过随机生成 .html 静态网页的过程&#xff0c; 虽然文档较小&#xff0c; 但是不堪反复使用积少成多。本文基于windows系统。 找到 runtime 目录 一般 jupyter 默认 runtime 在下述格式目录中 C:\Users\用户名\AppData…...

Ruby编程语言全景解析:从基础到进阶

Ruby是一种动态的、面向对象的编程语言&#xff0c;以其优雅的语法和强大的功能而闻名于世。自从1995年由日本程序员松本行弘&#xff08;Yukihiro Matsumoto&#xff09;发布以来&#xff0c;Ruby便迅速成为了开发者中颇受欢迎的编程语言之一。无论是构建简单的脚本还是复杂的…...

Elasticsearch 8.16:适用于生产的混合对话搜索和创新的向量数据量化,其性能优于乘积量化 (PQ)

作者&#xff1a;来自 Elastic Ranjana Devaji, Dana Juratoni Elasticsearch 8.16 引入了 BBQ&#xff08;Better Binary Quantization - 更好的二进制量化&#xff09;—— 一种压缩向量化数据的创新方法&#xff0c;其性能优于传统方法&#xff0c;例如乘积量化 (Product Qu…...

解决vscode不能像pycharm一样从其他同级文件夹导包

在vscode中选择&#xff1a;文件-首选项-设置-扩展-Python-settings.json 向setting.json添加如下代码: "terminal.integrated.env.osx": {"PYTHONPATH": "${workspaceFolder}/",},"terminal.integrated.env.linux": {"PYTHON…...

DAY24|回溯算法Part03|LeetCode:93.复原IP地址、78.子集、90.子集II

目录 LeetCode:93.复原IP地址 基本思路 C代码 LeetCode:78.子集 基本思路 C代码 LeetCode:90.子集II 基本思路 C代码 通过used实现去重 通过set实现去重 不使用used和set版本 LeetCode:93.复原IP地址 力扣代码链接 文字讲解&#xff1a;LeetCode:93.复原IP地…...

接口自动化测试做到什么程度的覆盖算是合格的

接口自动化测试的覆盖程度是一个衡量测试质量与效率的重要指标&#xff0c;其“好”的标准并非绝对&#xff0c;而是根据项目特性和团队需求动态调整的结果。然而&#xff0c;有几个原则和实践可以帮助我们确定一个相对合理的覆盖范围&#xff0c;以及为何这些覆盖是必要的。 1…...

Kubernetes-ArgoCD篇-01-简介

1、什么是Argo CD Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。 Argo CD官方文档地址&#xff1a;https://argo-cd.readthedocs.io Argo CD源码地址&#xff1a;https://github.com/argoproj/argo-cd 1.1 关于Argo Argo是一个开源的项目&#xff0c;主要是扩…...

阿里云通义大模型团队开源Qwen2.5-Coder:AI编程新纪元

&#x1f680; 11月12日&#xff0c;阿里云通义大模型团队宣布开源通义千问代码模型全系列&#xff0c;共6款Qwen2.5-Coder模型。这些模型在同等尺寸下均取得了业界最佳效果&#xff0c;其中32B尺寸的旗舰代码模型在十余项基准评测中均取得开源最佳成绩&#xff0c;成为全球最强…...

【大数据学习 | HBASE高级】hbase的参数优化

Zookeeper 会话超时时间 属性&#xff1a;zookeeper.session.timeout 解释&#xff1a;默认值为 90000 毫秒&#xff08;90s&#xff09; hbase.client.pause&#xff08;默认值 100ms&#xff09;重试间隔 hbase.client.retries.number&#xff08;默认 15 次&#xff09;重试…...

两个链表求并集、交集、差集

两个链表求并集、交集、差集 两个链表求并集、交集、差集其实都是创建一个新链表然后遍历插入的题型&#xff0c;所以下边就举并集一个例子。 首先将l1里的所有节点遍历存储到新节点l中开始遍历l2,如果l中不存在l2中的节点就将其尾插到l中 下面是两个链表求并集、交集、差集的代…...

C++中的栈(Stack)和堆(Heap)

在C中&#xff0c;堆&#xff08;heap&#xff09;和栈&#xff08;stack&#xff09;是两种用于存储数据的内存区域。理解它们的原理和区别&#xff0c;对于优化代码性能和确保代码的安全性至关重要。以下是对C中堆栈的详细解析&#xff0c;包括它们的分配方式、优缺点、应用场…...

Linux系统编程学习 NO.11——进程的概念(2)

谈谈进程的性质 进程的竞争性 由于CPU资源是稀缺的,进程数量是众多的。不可避免需要造成进程排队等待CPU资源的动作&#xff0c;内核的设计者为了让操作系统合理的去调度这这些进程&#xff0c;就产生了进程优先级的概念。设置合理的进程优先级能让不同进程公平的去竞争CPU资…...

QT自定义控件封装

QT自定义控件封装 1.概述 这篇文章介绍如何创建UI文件&#xff0c;通过自定义方式将两个控件联动起来&#xff0c;实现自定义功能。 2.创建UI文件 新建一个widget的普通项目&#xff0c;然后在项目名称上右键选择And New... 新建文件&#xff0c;然后选择QT 再选择Qt Desig…...

【搜索结构】AVL树的学习与实现

目录 什么是AVL树 AVL树的定义 插入函数的实现 左单旋和右单旋 左右双旋与右左双旋 什么是AVL树 AVL树实际上就是二叉搜索树的一种变体&#xff0c;我们都知道二i叉搜索树可以将查找的时间复杂度提升到O(logn)&#xff0c;极大提升搜索效率。但是在极端情况下&#xff0c;当…...

LeetCode40:组合总和II

原题地址&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff…...

基于Python+Vue开发的旅游景区管理系统

项目简介 该项目是基于PythonVue开发的旅游景区管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Python的旅游景…...

嵌入式硬件杂谈(一)-推挽 开漏 高阻态 上拉电阻

引言&#xff1a;对于嵌入式硬件这个庞大的知识体系而言&#xff0c;太多离散的知识点很容易疏漏&#xff0c;因此对于这些容易忘记甚至不明白的知识点做成一个梳理&#xff0c;供大家参考以及学习&#xff0c;本文主要针对推挽、开漏、高阻态、上拉电阻这些知识点的学习。 目…...

在arm64架构下, Ubuntu 18.04.5 LTS 用命令安装和卸载qt4、qt5

问题&#xff1a;需要在 arm64下安装Qt&#xff0c;QT源码编译失败以后&#xff0c;选择在线安装&#xff01; 最后安装的版本是Qt5.9.5 和QtCreator 4.5.2 。 一、ubuntu安装qt4的命令(亲测有效)&#xff1a; sudo add-apt-repository ppa:rock-core/qt4 sudo apt updat…...

mpv.net:Windows平台最强大的开源媒体播放器解决方案

mpv.net&#xff1a;Windows平台最强大的开源媒体播放器解决方案 【免费下载链接】mpv.net &#x1f39e; mpv.net is a media player for Windows with a modern GUI. 项目地址: https://gitcode.com/gh_mirrors/mp/mpv.net 在Windows平台上寻找一款既强大又简洁的媒体…...

如何用 polyfill-iconv 处理中文编码?GBK、BIG5、UTF-8 转换终极指南

如何用 polyfill-iconv 处理中文编码&#xff1f;GBK、BIG5、UTF-8 转换终极指南 【免费下载链接】polyfill-iconv This component provides a native PHP implementation of the php.net/iconv functions. 项目地址: https://gitcode.com/gh_mirrors/po/polyfill-iconv …...

百度网盘全自动化实录:Hermes Agent + bb-browser

缘起&#xff1a;今天风暴了一下&#xff0c;准备实践一下Hermes自动售卖数字产品实现自动变现的MVP&#xff0c;谁知道刚开始就卡在了操作百度网盘&#xff0c;要么被反爬&#xff0c;要么靠之前开发的computer use for win截图点坐标像瞎子摸象。最后换了条路——用 bb-brows…...

Taotoken助力初创团队低成本管理多个AI项目API用量

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken助力初创团队低成本管理多个AI项目API用量 对于小型创业团队的技术负责人而言&#xff0c;同时推进多个AI项目是常态。每个…...

TMS320VC5502PGF300:TI TMS320C55x系列定点DSP,300MHz,176-LQFP封装

TMS320VC5502PGF300&#xff1a;C55x低功耗DSP的300MHz经典音频处理方案在语音识别、音频编解码和通信基带处理等实时信号处理应用中&#xff0c;处理器的能效比&#xff08;单位功耗下的算力&#xff09;往往是系统设计的核心约束。高性能处理器虽然算力强劲&#xff0c;但较高…...

限时开放!ElevenLabs未公开东北话语音微调接口文档(含token绕过+方言embedding注入完整POC)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;ElevenLabs东北话语音微调接口的发现与边界定义 ElevenLabs 官方 API 文档未显式标注“东北话”支持&#xff0c;但通过其语音克隆&#xff08;Voice Cloning&#xff09;与声音微调&#xff08;Fine-tuning&…...

浙大软院推免机试96分学长复盘:PAT甲级真题怎么刷才有效?(附2021年四道真题思路)

浙大软院推免机试96分备考全攻略&#xff1a;从刷题策略到临场发挥 在计算机专业推免的激烈竞争中&#xff0c;机试成绩往往成为决定成败的关键因素。作为一位在浙大软院推免机试中获得96分的过来人&#xff0c;我深刻理解备考过程中的迷茫与困惑——刷了上百道题却收效甚微&am…...

别再死记硬背了!用Wireshark抓包带你搞懂PPPoE的Discovery、Session、Terminate三阶段

用Wireshark透视PPPoE全流程&#xff1a;从Discovery到Session的实战诊断手册 当你面对一台华为路由器&#xff0c;PPPoE拨号配置看似完美却频繁出现认证超时&#xff0c;或是NAT转换后外网访问时断时续&#xff0c;传统的命令行检查往往只能告诉你"哪里出错"&#x…...

从URP到Built-in:手把手教你迁移Unity第三人称模板并成功换人(解决Shader报错)

从URP到Built-in&#xff1a;Unity第三人称模板迁移全流程实战指南 当你在Unity中打开官方提供的Third Person模板&#xff0c;准备将其应用到自己的项目时&#xff0c;可能会遇到一个棘手的问题——这个模板是基于URP&#xff08;Universal Render Pipeline&#xff09;设计的…...

OpCore-Simplify:智能化OpenCore EFI配置生成引擎的革命性解决方案

OpCore-Simplify&#xff1a;智能化OpenCore EFI配置生成引擎的革命性解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在开源系统定制领域&am…...