将输入文件替换为表单中我自己的按钮

2023-11-22

基本上我想隐藏输入文件并使用按钮来选择表单中的文件。
如果我使用<label for="input-file">Label</label>当我单击标签时,我可以选择一个文件,但我希望成为一个按钮,或者至少看起来像一个按钮。
这里有一个JSFiddle 中的代码示例 :

input[type=file] { display: none; }

<form>
    <input type="file" id="input-file">
    <label for="input-file">
        <button>Button</button>
    </label>
    <input type="submit">
</form>

如果我在标签中添加一个按钮,则它充当提交按钮,如果我指定其类型,则单击时不会执行任何操作。

有没有办法使用我的按钮或按钮外观控件而不是使用input type="file"?
它必须是一个 HTML-CSS 解决方案,没有 JS 或任何框架。

EDIT:

这段 CSS 代码似乎使label看起来像一个标准按钮:

label {
    appearance: button;
    -moz-appearance: button;
    -webkit-appearance: button;
    text-align: center;
    padding: 2px 6px 3px;
    border: 2px outset buttonface;
    font: 13.3333px Arial;
}

您将通过几行 CSS 来实现这一点。Fiddle

input[type="file"] {
    display: none;
}
.custom-file-upload {
    border: 1px solid #ccc;
    display: inline-block;
    padding: 6px 12px;
    cursor: pointer;
}
<label for="file-upload" class="custom-file-upload">
    <i class="fa fa-cloud-upload"></i> Custom Upload
</label>
<input id="file-upload" type="file"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将输入文件替换为表单中我自己的按钮 的相关文章

随机推荐

  • 覆盖maven中第三方jar的依赖

    像这样org carrot2取决于commons httpclient 3 1那么我该如何改变这个commons httpclient 3 1 to HttpClient 4 1 1 我正在日食中工作 正如我想删除的commons http
  • PHP 闭包作用域问题

    显然 pid 超出了这里的范围 难道它不应该与函数一起 关闭 吗 我相当确定这就是闭包在 javascript 中的工作原理 根据一些文章php 闭包被破坏 所以我无法访问this 那么怎样才能 pid可以从这个闭包函数访问吗 class
  • 有没有可以模拟不稳定网络连接的程序? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我们需要模拟不稳定的网络连接 以尝试调试服务器 客户端应用程序中的一些连接问题 我想知道是否有任何程序可以模拟这些条件 例如在微弱的无线网络上 我指
  • 如何在命令行工具中获取 Apple Swift 语言的用户输入? [复制]

    这个问题在这里已经有答案了 我是 Apple 编程新手 我想尝试一下 Swift 但我不知道如何获取用户输入并将其存储在变量中 我正在寻找最简单的方法来做到这一点 比如Python中的input 和raw input Something l
  • 在 TDD 中,为什么选择 OpenEJB,为什么选择 Arquillian?

    我是一名 Web 开发人员 最终参与了一些 Java EE 开发 Richfaces Seam 2 EJB 3 1 JPA 为了测试 JPA 我使用 hypersonic 和 Mockito 但我缺乏更深入的 EJB 知识 有些人可能会说我
  • 第 0 行:解析错误:无法读取未定义的属性“map”

    目前在我的客户端启动服务器 上面的错误就是我遇到的问题 得到 我正在使用 TypeScript ReactJS ESLint 自从这个错误以来我似乎无法继续 一直困扰着我 这ESLint 的 GitHub 页面也没有多大帮助 在我创建 us
  • 在 React Native 中检测 WebView 中的按钮单击

    谁能帮助我如何检测 React Native 中的 Webview 按钮单击事件 如下面的代码所示 我的 WebView index html 中有一个 Button 我想从 React Native 检测单击事件并执行 onClick 方
  • 从脚本标签中提取 src 属性并根据特定匹配进行解析

    因此 我必须使用 JavaScript 确定专有 CRM 中的页面类型 确定页面类型 即前端唯一一致的差异 的唯一方法是检查 src 属性以 modules 开头的脚本标记 在许多列表中 在页眉中十几个脚本标签的列表中 每个页面都有一行以下
  • WPF:以 MVVM 方式绑定 TreeView 分步教程

    请参阅下一篇文章 原来这一题内容已被删除 因为没有任何意义 简而言之 我询问如何以 MVVM 方式使用 XmlDataProvider 将 XML 我在解析 DLL 程序集时错误生成 绑定到 TreeView 但后来我明白这种方法是错误的
  • ASP.NET MVC 3 跨所有子视图布局 ViewBag 数据

    无论子视图是什么 我们都需要将动态数据传递到布局文件 例如 我们在布局的标题中显示一些用户特定的数据 我们如何将这些数据传递到布局视图 而无需每个操作都独立提供它 我们应该使用自定义控制器 还是有更好的解决方案 我使用的策略是拥有一个基本视
  • 使用 page.getMetrics() 获取 puppeteer 中的页面加载时间

    我正在尝试使用 puppeteer 来测量一组网站在我的环境中加载的速度 我关注的是网络连接的质量和网络速度 所以我很高兴知道一个页面访问所花费的时间load 对于负载的外行定义 当所有图像和html都被浏览器下载时 通过使用 puppet
  • 如何获取 Spacy 中的所有名词短语

    我是新来的Spacy我想从句子中提取 所有 名词短语 我想知道我该怎么做 我有以下代码 import spacy nlp spacy load en file open E test txt r doc nlp file read for
  • Spring Web MVC、@ModelAttribute 和 @RequestParam 一起使用

    我有一个带有 GET 方法的控制器 如下所示 Controller public class ThingController RequestMapping value Thing html method RequestMethod GET
  • 如何在多个模块中使用 python 日志记录

    我想知道在 Python 应用程序中执行日志记录的标准设置是什么 我正在使用 Logging 类 并且我已经编写了自己的记录器类来实例化 Logging 类 然后我的 main 实例化我的记录器包装类 但是 我的 main 实例化了其他类
  • 如何在Unity3D输入字段UI组件中使用“On Value Change”

    我正在学习有关如何使用 Unity3d 的教程 但我已经走进了死胡同 我相信新版本的 Unity 中发生了一些变化 因为该教程似乎按照我的方式工作得很好 我有一个输入字段 UI 组件 每次更改它时我都想调用 C 函数 根据教程 我只需使用输
  • 使用 PHP 将文件从一台服务器移动到另一台服务器的最佳方法是什么?

    我想设置一个运行 PHP 脚本的 CRON 该脚本又将 XML 文件 保存非敏感信息 从一台服务器移动到另一台服务器 我已获得正确的用户名 密码 并且想要使用 SFTP 协议 这些作业将每天运行 有可能一台服务器是 Linux 另一台服务器
  • iOS:如何使用 Google Drive sdk 库将文件上传到特定的 Google Drive 文件夹

    我将 Google Drive sdk 与我的 iOS 应用程序集成 但我不知道如何将文件上传到 Google 驱动器特定文件夹 这里的代码用于上传文件 但这是将文件上传到我的谷歌驱动器根文件夹 有人分享一个代码来将文件上传到谷歌驱动器特定
  • 使用 Heroku 的 Git 子模块

    问题 我在 Heroku 上有一个 Rails 3 1 应用程序 它将很快需要一堆 第 3 方 子模块 其中一些有子模块 不幸的是 Heroku 缺乏子模块支持 Heroku 网站上的一项建议是将子模块的内容移至主存储库中 here 第一次
  • pip freeze 列出已卸载的软件包

    在 OS X 10 6 8 上 我使用卸载了一个包 至少 pip 告诉我是这样 sudo pip uninstall pkg name 但当我这样做时包裹仍然出现 pip freeze 我再次尝试执行上面的卸载命令 pip 告诉我该软件包尚
  • 将输入文件替换为表单中我自己的按钮

    基本上我想隐藏输入文件并使用按钮来选择表单中的文件 如果我使用