>  기사  >  웹 프론트엔드  >  Bootstrap 4 파일 입력에서 \"파일 선택...\" 자리 표시자를 사용자 정의하는 방법은 무엇입니까?

Bootstrap 4 파일 입력에서 \"파일 선택...\" 자리 표시자를 사용자 정의하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-30 17:31:25510검색

How to Customize the

Bootstrap 4 파일 입력의 과제 극복

Bootstrap 4에서 파일 브라우저는 "파일 선택..."이라는 영구 텍스트를 표시합니다. 파일 선택에도 불구하고. 이 문제는 custom-file-control 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으로 문의하세요.