如何使用 Bootstrap 5 更改“选择文件”文本

新手上路,请多包涵

是否不可能像 Bootstrap 4 一样使用 CSS 在 Bootstrap 5 中更改选择输入文件的文件文本?

以及如何为“未选择文件”添加边距?

在此处输入图像描述

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

阅读 1.3k
2 个回答

Bootstrap 5 beta 不再提供 像 Bootstrap 4 那样使用伪元素覆盖 浏览器的文件输入默认值 的自定义文件输入。因此,您必须使用 JS 或制作自己的伪元素来隐藏 Choose file .. 输入区域…

 #formFile::before {
  content: "Pick file";
  position: absolute;
  z-index: 2;
  display: block;
  background-color: #eee;
  width: 80px;
}
 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

<div class="container min-vh-100 py-2">
  <div class="row">
    <div class="col">
      <div class="mb-3">
        <input class="form-control" type="file" id="formFile">
      </div>
    </div>
  </div>
</div>

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

Bootstrap 5 + 一些 CSS

  1. 使用自定义标签组合 Bootstrap 的 自定义文件输入
  2. 使用 ::file-selector-button 伪元素隐藏默认 Choose file 按钮。有伪元素 ::-webkit-file-upload-button::-ms-browse 用于旧版本的 Chrome/Opera/Safari 和 Edge/IE。但是 bootstrap.css 仅使用 ::file-selector-button::-webkit-file-upload-button 。所以我建议也这样做。
  3. :hover 效果和标签与输入字段之间的细边框添加更多 CSS。

在 Chrome、Firefox 和 Edge 中测试。

https://codepen.io/glebkema/pen/VwMQWGE

 .custom-file-button input[type=file] {
  margin-left: -2px !important;
}

.custom-file-button input[type=file]::-webkit-file-upload-button {
  display: none;
}

.custom-file-button input[type=file]::file-selector-button {
  display: none;
}

.custom-file-button:hover label {
  background-color: #dde0e3;
  cursor: pointer;
}
 <div class="container py-3">

  <div class="input-group custom-file-button">
    <label class="input-group-text" for="inputGroupFile">Your Custom Text</label>
    <input type="file" class="form-control" id="inputGroupFile">
  </div>

</div>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/css/bootstrap.min.css">

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

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