Chrome CSS - стилизация файла ввода - PullRequest
1 голос
/ 01 февраля 2011

Вот мой входной файл, отображаемый в Chrome:

enter image description here

В IE он выглядит намного более простым, что хорошо (хотя огромные несоответствия с этим конкретным элементом управления расстраивают!)

Мой CSS для ввода по умолчанию:

input{
    font-family: arial, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color:White;
    background-image:url(../images/buttonBG.png);
    height:27px;
    border:1px solid #000;
    border-radius: 7px;
    -moz-border-radius: 7px;
    padding: 5px 20px 5px 20px;
    -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5), inset 0px 1px 0px rgba(255, 255, 255, 0.5);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), inset 0px 1px 0px rgba(255, 255, 255, 0.5);
    text-shadow: 0px 1px 2px #000;
}
input:hover{
    text-shadow: 0px 1px 2px #fff;
    background-image:url(../images/buttonBGo.png);
}

Как вы видите, на элементе управления есть два типа текста, возможно ли стилизовать оба по отдельности?

Также есть ли какой-либо способ специально выбрать файл ввода?Как input.file (похоже, не работает).Если это невозможно, как удалить весь CSS, к которому применен стиль ввода (поэтому я снова работаю с чистым листом).

Ответы [ 3 ]

4 голосов
/ 01 февраля 2011

Хотя я никогда не реализовывал это нигде, но, изучая примерно то же самое, я наткнулся на этот URL

http://pixelmatrixdesign.com/uniform/

Это может помочь вам.

2 голосов
/ 01 февраля 2011

вы не можете различать типы ввода в IE. В недавнем браузере вы можете достичь этого с помощью селекторов атрибутов css3:

input[type=button] {
   border: 15px solid Red;
}

Что вы можете сделать, это вручную добавить класс CSS в ваш файл:

<input type="file" class="inputFile" />
.inputFile { color: Yellow; }
0 голосов
/ 17 августа 2018

Для полной адаптации (например, изменение внешнего вида кнопки обзора) вам необходимо использовать технику элемента label.

Это полностью семантически, доступно и не требует JavaScipt. По сути, вы скрываете ввод, убедитесь, что идентификатор установлен как в поле метки, так и в поле файла, а затем соответствующим образом стилизуете метку. Вот отличная статья, которая объясняет метод вместе с CodePen (https://codepen.io/bmarshall511/pen/bjyEgq), который показывает, как это делается: https://benmarshall.me/styling-file-inputs/

[type="file"] + label {
  background: #f15d22;
  border-radius: 5px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...