如何更改输入文件按钮大小?

新手上路,请多包涵

我正在使用不透明度方法处理输入文件样式 - 实际输入文件按钮的不透明度为 0,在它前面,使用 z-index 是另一个输入(不透明度:1)。不幸的是,我希望我的可见按钮是方形图片(宽度:高度:1:1) - 并且不可见的输入文件始终是矩形(输入框和选择框的纵横比约为 1:10)。问题是 - 如何将输入文件按钮的大小调整为方形(或任何大小)以使整个可见按钮区域可单击(因为仅单击不可见按钮会导致打开浏览器窗口)。现在只有部分可见按钮是“可点击的”。

CSS:

    <style type="text/css">
   .upload {
        position:relative;
    width:100px;
   }

   .realupload {
    position:absolute;
    top:0;
    right:0;
    opacity:0.5;
    -moz-opacity:0.5;
    filter:alpha(opacity:0.5);
    z-index:2;
    width:100px;
   }

   form .fakeupload {
    background: url(images/bglines.png);
   }

   form .fakeupload input {
    width:0px;
   }

   </style>

和 HTML:

 <form>
   <li class="upload">
    <div class="fakeupload">
        <input type="text" name="fakeupload" style="opacity: 0;"/>
    </div>
    <input type="file" name="upload" id="realupload" class="realupload" onchange="this.form.fakeupload.value = this.value;" style="font-size: 5px;" />
   </li>
   </form>

原文由 Kalreg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 260
1 个回答

我们有一个类似的案例。

它不是超级优雅,但您可以尝试以下操作,而不是输入多个文件:

  • 增加 输入的字体大小 以增加按钮的宽度
  • 设置父相关元素 溢出:隐藏
  • (可选)将 高度设置为 100%

正如 此处的演示(基于 Scott 的演示)

仅适用于 Firefox

原文由 Raphaël 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题