Тип ввода = файл показывает неправильно в IE8-9

0

У меня большой проект и много стилей css. И у меня есть тип входного файла, который показывает неправильные значения в ie8 и ie9. Я просто вижу фоновый цвет и текст "Обзор...". Итак, когда я исключаю границу из стиля с помощью инструментов разработки в IE... это показывает правильность. Но я не могу удалить границу с помощью js или css. Когда я устанавливаю значение по умолчанию: border: medium none # 000, он не работает. Возможно, это унаследовал стиль. Как удалить пограничный стиль из элемента ввода.

У кого-нибудь была эта проблема? Мне нужна кнопка по умолчанию для управления входным файлом. Как я могу использовать js (jQuery) или css? У IE есть собственный стиль для элементов?

HTML:

<input name="ImportFileInp$InputField" class="cs-fileinput" id="ImportFileInp_InputField"           type="file"/>

CSS:

.cs-fileinput {
    width: 71px;
    margin-left:5px;
}

но в браузере я вижу: border: 0px none currentColor

  • 3
    Укажите ваш код
  • 0
    Можете ли вы показать свою проблему в скрипке ? Что касается меня, то с borders проблем нет, если просто использовать код, который вы указали в вопросе. Таким образом, предполагая, что у вас есть некоторый дополнительный css или javascript который переопределяет стиль вашего input
Показать ещё 7 комментариев
Теги:
internet-explorer-8

1 ответ

0
Лучший ответ

В соответствии с нашим обсуждением вы должны настроить свою кнопку загрузки.
Проблема не только в браузере IE. Каждый браузер имеет другой стиль (собственный стиль) для кнопки <input type="file"/>.

Вот пример того, как вы можете настроить свою кнопку загрузки:
HTML-код

<div class="custom-upload">
  <input type="file">
  <div class="fake-file">
      <input disabled="disabled" >
  </div>
</div>

CSS

.custom-upload {
  position: relative;
  height: 40px;
  width: 350px;
  margin:30px;
}

.custom-upload input[type=file] {
  outline:none;
  position: relative;
  text-align: right;    
  -moz-opacity:0 ;
  filter:alpha(opacity: 0);
  opacity: 0;
  z-index: 2;
  width:100%;
  height:100%;  
}

.custom-upload .fake-file {
  background:url(http://www.fold3.com/i/upload-icon.png) center right no-repeat;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 350px;
  padding: 0;
  margin: 0;
  z-index: 1;
  line-height: 100%;
}

.custom-upload .fake-file input {
  font-size:16px;
  height:40px;
  width:300px;
}

Код JavaScript

$('.custom-upload input[type=file]').change(function(){
  $(this).next().find('input').val($(this).val());
});

Таким образом, вы можете просто изменить backgroung в .custom-upload.fake-file class для любого изображения, которое вы хотите, и оно будет иметь одинаковый вид во всех браузерах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню