首页 >web前端 >css教程 >如何自定义 Bootstrap 4 文件输入中的'选择文件...”占位符?

如何自定义 Bootstrap 4 文件输入中的'选择文件...”占位符?

Barbara Streisand
Barbara Streisand原创
2024-10-30 17:31:25591浏览

How to Customize the

克服 Bootstrap 4 文件输入的挑战

在 Bootstrap 4 中,文件浏览器显示持久文本“选择文件...”尽管选择了文件。此问题源于自定义文件控件 CSS 类中的隐藏值。虽然可以使用 JavaScript 检索所选文件的值,但更改占位符文本可能会更加复杂。

自定义占位符文本和按钮显示 (Bootstrap 4.1 )

随着 Bootstrap 4.1 的引入,“选择文件...”占位符位于自定义文件标签类中。要修改此文本,只需添加自定义 CSS 或 SASS,如下所示:

<code class="css">.custom-file-input ~ .custom-file-label::after {
    content: "Button Text";
}</code>

解决隐藏占位符值

Bootstrap 4 Alpha 6(原始答案) )

1.修改初始占位符和按钮文本:

初始占位符和按钮文本存储在 CSS 伪元素中。要自定义它们,请分别使用 :lang(en)::after 和 :lang(en)::before 选择器覆盖默认值。

<code class="css">#customFile .custom-file-control:lang(en)::after {
  content: "Select file...";
}

#customFile .custom-file-control:lang(en)::before {
  content: "Click me";
}</code>

2.检索选定的文件名并更新输入:

选择文件后,可以使用 JavaScript 获取其名称。但是,由于占位符是伪元素,因此无法通过 JavaScript 直接操作它。相反,创建一个额外的 CSS 类来在选择文件后隐藏占位符:

<code class="css">.custom-file-control.selected:lang(en)::after {
  content: "" !important;
}</code>

选择文件后,使用 jQuery 切换 .custom-file-control 上的 .selected 类来隐藏占位符并显示文件名:

<code class="javascript">$('.custom-file-input').on('change',function(){
  var fileName = $(this).val();
  $(this).next('.form-control-file').addClass("selected").html(fileName);
})</code>

Bootstrap 5

自定义文件输入已在 Bootstrap 5 中删除。要更改占位符文本,您可以使用 JavaScript 或自定义 CSS。例如:

<code class="css">.custom-file-input::after {
    content: "Button Text";
}</code>

以上是如何自定义 Bootstrap 4 文件输入中的'选择文件...”占位符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn