Входной файл с btn-outline при загрузке

У меня есть форма начальной загрузки, в которой у меня есть входной файл, но я хочу, чтобы она имела дизайн btn-outline-info, поэтому я делаю:

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

Итак, у меня есть кнопка «Выбрать файл», рядом с которой строка: «нет выбора файла» синего цвета, и обе они находятся в синем поле:

Входной файл с btn-outline при загрузке

И когда я нахожу его, кнопка становится синей, а текст - белым: Входной файл с btn-outline при загрузке

Пока здесь все идет хорошо. Но когда я загружаю файл, имя файла заменяет «нет выбора файла», но всегда остается белым:

Входной файл с btn-outline при загрузке

Входной файл с btn-outline при загрузке

Понятия не имею, почему и как это исправить. У меня даже нет доступа к этому тексту в HTML.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
167
2

Ответы 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>

Если я это сделаю, я отменю наведение. Это лучше, но не то, что я ищу. Очень хотелось бы, чтобы зависание оставалось.

Kvasir 13.10.2018 14:07

Попробуй это?

<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>

Какой браузер вы используете?

Daniel Williams 14.10.2018 23:18

Я использую гугл хром

Kvasir 15.10.2018 02:54

Понятно. Странное поведение ИМО. Я обновил свой ответ, чтобы показать, что я считаю неприятным решением, но, по крайней мере, оно работает.

Daniel Williams 15.10.2018 04:36

Другие вопросы по теме