Пользовательский стиль ввода файлов - CSS-хитрости

Anonim

Если вас интересует стиль, специфичный для Webkit / Blink / Chrome, есть собственный псевдоэлемент, который нужно скрыть, а затем использовать нестандартный psudeo-on-an-input:

.custom-file-input::-webkit-file-upload-button ( visibility: hidden; ) .custom-file-input::before ( content: 'Select some files'; display: inline-block; background: linear-gradient(top, #f9f9f9, #e3e3e3); border: 1px solid #999; border-radius: 3px; padding: 5px 8px; outline: none; white-space: nowrap; -webkit-user-select: none; cursor: pointer; text-shadow: 1px 1px #fff; font-weight: 700; font-size: 10pt; ) .custom-file-input:hover::before ( border-color: black; ) .custom-file-input:active::before ( background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9); )

Демо

См. Ввод пользовательских файлов для пера в WebKit / Blink от Криса Койера (@chriscoyier) на CodePen

Честное предупреждение: он не показывает вам выбранное имя файла, но вы можете настроить его для этого. Я обычно нахожу, что в эти дни вы запускаете событие после выбора файла и все равно получаете данные таким образом.

Формы WTF

Всегда стоит проверить, как это делают формы WTF:

См. Ввод файла пера из форм WTF от Криса Койера (@chriscoyier) на CodePen.