Maison > interface Web > tutoriel CSS > Comment puis-je personnaliser la couleur d'arrière-plan des options sélectionnées dans les éléments HTML ?

Comment puis-je personnaliser la couleur d'arrière-plan des options sélectionnées dans les éléments HTML ?

Patricia Arquette
Libérer: 2024-11-27 21:28:10
original
353 Les gens l'ont consulté

How Can I Customize the Background Color of Selected Options in HTML `` Elements?

Style des options sélectionnées en HTML <select> Éléments

Dans les formulaires HTML, l'option <select> L'élément fournit une liste déroulante d'options pour la sélection de l'utilisateur. Par défaut, l'option sélectionnée apparaît sur fond bleu. Cet article explique comment personnaliser la couleur d'arrière-plan de l'option sélectionnée à l'aide de CSS et JavaScript.

Approche CSS

Malheureusement, il n'existe aucune propriété CSS inhérente pour modifier l'arrière-plan. couleur d'une option sélectionnée dans un champ <select> élément. Cependant, vous pouvez créer un élément de sélection personnalisé en utilisant CSS et HTML pour y parvenir :

<div class="custom-select">
  <select>
Copier après la connexion
.custom-select {
  position: relative;
  width: 200px;
}

.custom-select select {
  display: none;
}

.custom-select-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: red;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.custom-select:hover .custom-select-overlay {
  opacity: 0.5;
}

.custom-select select:focus + .custom-select-overlay {
  opacity: 1;
}
Copier après la connexion

Approche JavaScript

En utilisant JavaScript, vous pouvez manipuler le DOM directement pour changer la couleur de fond de l'option sélectionnée lors de sa sélection :

<select>
Copier après la connexion
var select = document.getElementById('mySelect');

select.addEventListener('change', function() {
  var options = this.children;
  for (var i = 0; i < options.length; i++) {
    options[i].style.backgroundColor = 'white';
  }
  this.children[this.selectedIndex].style.backgroundColor = 'red';
});
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal