Benutzerdefiniertes Dateieingabe-Styling

Avatar of Chris Coyier
Chris Coyier am

Wenn Sie an Webkit/Blink/Chrome-spezifischem Styling interessiert sind, gibt es ein proprietäres Pseudoelement zum Ausblenden und dann ein ebenfalls nicht standardmäßiges Pseudoelement für ein Eingabefeld.

<input class="custom-file-input" type="file">
.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

Warnung: Es wird Ihnen nicht der Name der ausgewählten Datei angezeigt, aber Sie können es möglicherweise anpassen, um dies zu erreichen. Ich stelle fest, dass man heutzutage normalerweise ein Ereignis nach der Dateiauswahl auslöst und die Daten auf diese Weise abruft.

WTF Forms

Es lohnt sich immer, auch nachzusehen, wie WTF Forms es macht.

Sie könnten auch an dem Styling gängiger Formularelemente oder der Formular-Eingabevalidierung bei DigitalOcean interessiert sein.