Maison >interface Web >tutoriel CSS >Comment puis-je styliser des boutons de saisie de fichiers personnalisés sans JavaScript ?

Comment puis-je styliser des boutons de saisie de fichiers personnalisés sans JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 19:33:11308parcourir

How Can I Style Custom File Input Buttons Without JavaScript?

Style d'entrée de fichier personnalisé : une approche basée sur les étiquettes

De nombreux développeurs ont du mal à personnaliser l'apparence des boutons de téléchargement de fichiers. Si JavaScript peut offrir une solution, il peut également introduire des défis supplémentaires. Heureusement, il existe une approche plus simple et plus multiplateforme utilisant le langage HTML

Avantages de l'utilisation de

L'utilisation de

  • Aucun JavaScript requis : Le
  • Liberté de style : Contrairement à certaines techniques de style spécifiques au navigateur,
  • Code sémantique : Le

Mise en œuvre

Pour mettre en œuvre cette approche, suivez ces étapes :

  1. Enveloppez votre entrée de téléchargement de fichier caché dans un
  2. Stylez l'élément
  3. Positionnez l'entrée absolument en dehors de la zone visible pour empêcher l'interaction de l'utilisateur avec le bouton par défaut.

Exemple de code

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

/***** Example custom styling *****/
.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;
}

Dans cet exemple, l'entrée est positionnée hors écran avec en haut : -1000px. Le style appliqué au

Conclusion

Cette approche basée sur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn