【问题标题】:Input file with btn-outline on bootstrap在引导程序上使用 btn-outline 输入文件
【发布时间】:2019-03-18 02:59:56
【问题描述】:

我有一个引导表单,其中有一个输入文件,但我希望它具有 btn-outline-info 的设计,所以我这样做了:

 <div class="btn btn-outline-info btn-lg">
     <input id="signedAgreementFile" type="file" class="form-control-file">
  </div>

所以我有一个“选择文件”按钮,旁边有一个字符串:蓝色的“无文件选择”,它们都在一个蓝色框中:

当我将它悬停时,按钮变为蓝色,文本变为白色:

直到这里一切顺利。但是当我上传文件时,文件名替换“无文件选择”但始终保持白色:

我不知道为什么以及如何纠正它。我什至无法访问 HTML 中的此文本。

【问题讨论】:

    标签: html css input bootstrap-4


    【解决方案1】:

    试试这个?

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    
    
    <div class="btn btn-outline-info btn-lg">
      <input id="signedAgreementFile" type="file" class="form-control-file" onchange="this.style.color='#17a2be'">
    </div>

    【讨论】:

    • 你用的是什么浏览器?
    • 我使用谷歌浏览器
    • 我明白了。奇怪的行为海事组织。我已经更新了我的答案,以显示我认为是 icky 的解决方案,但至少它有效。
    【解决方案2】:

    text-info 类添加到您的输入中,并添加额外的 CSS 以停止在悬停时更改背景颜色。

    .btn:hover {
      background-color: transparent !important;
    }
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    
    
     <div class="btn btn-outline-info btn-lg">
         <input id="signedAgreementFile" type="file" class="form-control-file text-info">
      </div>

    【讨论】:

    • 如果我这样做,我会取消悬停它更好,但不是我想要的。我真的很想保持悬停。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多