【问题标题】:Rails file_field input as a buttonRails file_field 输入为按钮
【发布时间】:2019-03-15 13:42:08
【问题描述】:

我有一个按钮,我想执行由 Rails 中的file_field 生成的操作。这是我现在拥有的 erb 代码:

<label for='file-input'>
  <span class='btn btn-success' style='max-width: 300px;'>
    <img src=<%= image_path('button-upload-white.svg')%>></img> Upload from computer
  </span>
</label>

<%= f.file_field :files, multiple: true, name: 'attachment[file]', id: 'file-input'%>

我遵循this 问题中的模式以及相关的 CSS:

.file-input > input
{
 display: none;
}

.file-input > label{
  cursor: pointer;
}

但它似乎不起作用并生成以下内容:

所需的输出将与隐藏的choose files 输入相同或以某种方式连接到按钮本身。谢谢,如果我应该发布更多代码或者我正在以错误的方式考虑这个问题,请告诉我。

【问题讨论】:

    标签: css ruby-on-rails ruby erb


    【解决方案1】:

    试试这个来“隐藏”输入元素

    宽度和高度设置为 0.1 像素,而不仅仅是 0 像素。将属性值设置为零最终会在某些浏览器中将元素从标签方中抛出。并且 position: absolute 保证元素不会干扰兄弟元素。

      .file-input > input {
            width: 0.1px;
            height: 0.1px;
            opacity: 0;
            overflow: hidden;
            position: absolute;
            z-index: -1;
        }
    

    Credit

    【讨论】:

    • hmm 我按照帖子中的描述为labelinput 遵循了确切的HTML 和CSS,但它没有工作。点击标签没有打开任何文件输入
    • 好的,我查找了与链接类似的解决方案,并找到了this,它在经过一些调整后实现了我想要的!虽然答案非常相似
    • 从不位置:绝对;类型=“文件”。这将导致非常难以找到溢出/顶部/滚动错误
    猜你喜欢
    • 2019-10-29
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2021-01-13
    • 2017-10-31
    • 2015-10-25
    • 2011-10-20
    • 2011-10-04
    相关资源
    最近更新 更多