Estilo de entrada de arquivo personalizado - CSS-Tricks

Anonim

Se você estiver interessado em estilos específicos de Webkit / Blink / Chrome, há um pseudo elemento proprietário para ocultar e, em seguida, use um psudeo-on-an-input também não padrão:

.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); )

Demo

Veja as entradas de arquivos personalizados da caneta no WebKit / Blink de Chris Coyier (@chriscoyier) no CodePen

Aviso justo: ele não mostra o nome do arquivo selecionado, mas você pode ajustá-lo para fazer isso. Acho que hoje em dia você está disparando um evento após a seleção do arquivo e capturando os dados dessa forma.

Formulários WTF

Sempre vale a pena conferir como o WTF forms também faz isso:

Veja a entrada do arquivo de caneta em formulários WTF de Chris Coyier (@chriscoyier) no CodePen.