【问题标题】:How to style the "Search Computer" File Upload button for eMail Contact Form 7?如何为电子邮件联系表 7 设置“搜索计算机”文件上传按钮的样式?
【发布时间】:2021-08-23 09:11:33
【问题描述】:

我有一个标准的“联系表 7”在 wordpress 上以附件形式发送文件:

<label>UPLOAD FILE
[file uploadedfile]
</label>

我已经搜索过 stackoverflow 等。 2小时后我放弃了:(


如何轻松更改背景颜色和字体大小?

如果我直接接触到文件表单控件,它会像巨人一样爆炸。这对计算机没有用,从不响应移动设备。

作为第二个问题。

是否可以将“未选择文件”的格式与“搜索计算机(Durchsuchen)”的格式不同?

【问题讨论】:

  • 通常,该样式由您使用的浏览器和/或操作系统决定 - 您的第二个问题也是如此。
  • 是的,但感谢@Austin,我可以自己做按钮,我指定的功能也可以做同样的事情。 ;-)

标签: html css wordpress forms contacts


【解决方案1】:

虽然由于浏览器的兼容性,很难为文件输入本身设置样式,但您可以改为将样式应用于其标签以获得相同的结果。

看看这个示例输入:

<label for="fileInput">
    Upload file
</label>
<input id="fileInput" type="file">

由于标签直接链接到输入,一旦您单击标签或输入,它将打开文件浏览器。既然如此,您可以隐藏输入本身并仅显示标签。

<style>
input[type="file"] {
    display: none;
}
</style>

现在您只剩下标签了,您可以对元素应用样式,使其看起来更像按钮而不是标签。看看这个可以用来设置标签样式的 CSS 基本示例。

<style>
label[for="fileInput"] {
    border: 1px solid black;
    display: inline-block;
    padding: 6px 12px;
    cursor: pointer;
}
</style>

隐藏输入并向标签添加样式后,您最终会得到以下结果。当然,这只是一个基本示例,但通过 CSS 可以实现的功能几乎没有限制,因此您可以按照自己的喜好为标签设置样式。

综合起来,这个实现的最终代码如下所示:

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

label[for="fileInput"] {
  border: 1px solid black;
  display: inline-block;
  padding: 6px 12px;
  cursor: pointer;
}
<!doctype html>
<html>

<head>
  <title>File upload styling</title>
</head>

<body>
  <form method="post">
    <label for="fileInput">
    Upload file
</label>
    <input id="fileInput" type="file">
  </form>
</body>

</html>

由于您使用的是 WordPress,因此您最终会将 CSS 放入您的主题样式中,但其实现应该与静态 HTML 网站的实现几乎相同。

【讨论】:

  • 谢谢!在我对您的代码进行了一点尝试并使用 对表单的某些代码进行逆向工程之后(再次...^^),我使表单令人满意。愚蠢的是,如果我设计按钮并且人们上传文件,那么他们将看不到他们上传的内容。最后最重要的是 display: inline-block;谢谢老兄!!你太棒了!
猜你喜欢
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
  • 2018-07-31
相关资源
最近更新 更多