Heim >Web-Frontend >CSS-Tutorial >Wie kann ich Schaltflächen zum Hochladen von Dateien ohne JavaScript gestalten?

Wie kann ich Schaltflächen zum Hochladen von Dateien ohne JavaScript gestalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-10 07:28:09720Durchsuche

How Can I Style File Upload Buttons Without JavaScript?

Schaltflächen zum Hochladen von Dateien ohne JavaScript gestalten

Viele Versuche, Schaltflächen zum Hochladen von Dateien anzupassen, greifen häufig auf JavaScript oder den Ansatz von Quirksmode zurück, der Einschränkungen hinsichtlich der Abmessungen und automatischen Anpassungen aufweist. In diesem Artikel wird eine weniger hackige Lösung unter Verwendung des

Nutzung des

Das

Codebeispiel

<label class="myLabel">
    <input type="file" required/>
    <span>My Label</span>
</label>
label.myLabel input[type="file"] {
    position:absolute;
    top: -1000px;
}

.myLabel {
    border: 2px solid #AAA;
    border-radius: 4px;
    padding: 2px 5px;
    margin: 2px;
    background: #DDD;
    display: inline-block;
}
.myLabel:hover {
    background: #CCC;
}
.myLabel:active {
    background: #CCF;
}
.myLabel :invalid + span {
    color: #A44;
}
.myLabel :valid + span {
    color: #4A4;
}

In diesem Beispiel verstecken wir uns Klicken Sie auf die Schaltfläche zum Hochladen von Dateien mit position:absolute und top:-1000px und formatieren Sie das

Vorteile dieses Ansatzes

  • Ermöglicht eine größere Flexibilität beim Styling im Vergleich zum integrierten Styling des Webkits.
  • Es ist kein JavaScript erforderlich, was es effizienter macht.
  • Es überwindet die Einschränkungen des Quirksmode-Ansatzes und ermöglicht die Klicken Sie auf die Schaltfläche „Datei“, um den gesamten übergeordneten Container zu füllen.

Das obige ist der detaillierte Inhalt vonWie kann ich Schaltflächen zum Hochladen von Dateien ohne JavaScript gestalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn