Voici mon HTML:
<select id="ddlProducts" name="ddProducts">
<option>Product1 : Electronics </option>
<option>Product2 : Sports </option>
</select>
Je souhaite mettre en gras le nom du produit (c'est-à-dire «Product1», «Product2», etc.) et ses catégories (à savoir Electronique, Sports, etc.) en italique, en utilisant uniquement CSS. J'ai trouvé une vieille question qui mentionnait qu'il n'était pas possible d'utiliser HTML et CSS, mais j'espère qu'il y a une solution maintenant.
html
css
drop-down-menu
MrClan
la source
la source
Réponses:
Seuls quelques attributs de style peuvent être appliqués à un
<option>
élément.En effet, ce type d'élément est un exemple d '"élément remplacé". Ils dépendent du système d'exploitation et ne font pas partie du HTML / navigateur. Il ne peut pas être stylisé via
CSS
.Il existe des plug-ins / bibliothèques de remplacement qui ressemblent à un,
<select>
mais sont en fait composés d'HTML
éléments réguliers qui PEUVENT être stylisés.la source
select > option
styliser, mais il n'y a pas de solution de croisement fiable pour le faire et, sur Chrome au moins, vous pouvez tout au plus personnaliser la taille de la police, la famille, l'arrière-plan et la couleur de premier plan. Peut-être quelques ajustements supplémentaires, mais des choses comme le rembourrage, la couleur du survol et autres, je n'ai pas réussi à changer. En effet, il peut y avoir des alternatives, mais selon le projet, la balise <select> peut être nécessaire par exemple pour la validation angulaire ou pour une autre raison.<option>
, mais il montre comment émuler<select>
afin que vous puissiez styliser les options.OPTION
avec CSS avec des navigateurs modernes - ajoutez une balise de style à l'optionNon, ce n'est pas possible, car le style de ces éléments est géré par le système d'exploitation de l'utilisateur. MSDN répondra à votre question ici :
la source
style="background-color: red;color: red;"
ne fonctionne pas pour moi. EDIT: Après avoir fermé la console développeur, le style a été appliqué.Vous pouvez styliser les éléments d'option dans une certaine mesure.
En utilisant la balise * CSS, vous pouvez styliser les options à l'intérieur de la boîte dessinée par le système.
Exemple:
Cela ressemblera à ceci:
la source
J'ai trouvé et utilisé ce bon exemple de style des sélections et des options.Vous pouvez faire avec cette sélection tout ce que vous voulez.Voici le violon
html
css
JS
la source
Voici quelques façons de
<option>
styliser avec<select>
si vous utilisez Bootstrap et / ou jquery. Je comprends que ce n'est pas ce que l'affiche originale demande, mais j'ai pensé que je pourrais aider les autres qui tombent sur cette question.Vous pouvez toujours atteindre l'objectif de styliser chacun
<option>
séparément, mais vous devrez peut-être également appliquer un certain style à<select>
. Mon préféré est la bibliothèque "Bootstrap Select" mentionnée ci-dessous.Bibliothèque Bootstrap Select (jquery)
Si vous utilisez déjà le bootstrap, vous pouvez essayer la bibliothèque Bootstrap Select ou la bibliothèque ci-dessous (car elle a un thème bootstrap).
Notez que vous pouvez styliser l'
select
élément entier ou lesoption
éléments séparément.Exemples :
Dépendances : nécessite jQuery v1.9.1 +, Bootstrap , le composant dropdown.js de Bootstrap et le CSS de Bootstrap
Compatibilité : incertain, mais bootstrap dit qu'il "prend en charge les dernières versions stables de tous les principaux navigateurs et plates-formes"
Démo : https://developer.snapappointments.com/bootstrap-select/examples/
Select2 (JS lib)
Il existe une bibliothèque que vous pouvez utiliser appelée Select2 .
Dépendances : la bibliothèque est JS + CSS + HTML uniquement (ne nécessite pas JQuery).
Compatibilité : IE 8+, Chrome 8+, Firefox 10+, Safari 3+, Opera 10.6+
Démo : https://select2.org/getting-started/basic-usage
Il y a aussi un thème bootstrap .
Aucun exemple Bootstrap:
Exemple d'amorçage:
MDBootstrap ($ & Bootstrap & JQuery)
Si vous avez de l'argent supplémentaire, vous pouvez utiliser une bibliothèque premium MDBootstrap . (Ceci est un kit d'interface utilisateur complet , donc ce n'est pas léger)
Cela vous permet de styliser vos éléments de sélection et d'option à l'aide de la conception Matériau .
Il existe une version gratuite, mais elle ne vous permettra pas d'utiliser le joli design Material!
Dépendances : Bootstrap 4 , JQuery,
Compatibilité : "prend en charge les dernières versions stables de tous les principaux navigateurs et plates-formes."
Démo : https://mdbootstrap.com/docs/jquery/forms/select/#color
la source
On dirait que je peux simplement définir le CSS pour
select
Chrome directement. Code CSS et HTML fourni ci-dessous:la source
Comme déjà mentionné, la seule façon est d'utiliser un plugin qui remplace
<select>
fonctionnalité.Une liste des plugins jQuery: http://plugins.jquery.com/tag/select/
Jetez un œil à l'exemple utilisant le
Select2
plugin: http://jsfiddle.net/swsLokfj/23/la source
Bootstrap vous permet d'utiliser le style via le contenu des données:
Exemple: https://silviomoreto.github.io/bootstrap-select/examples/
la source
Certaines propriétés peuvent être stylisées pour la
<option>
balise:font-family
color
font-*
background-color
Vous pouvez également utiliser une police personnalisée pour une
<option>
balise individuelle , par exemple n'importe quelle police google , icônes de matériaux ou autres polices d' icônes d' icomoon ou similaires. (Cela peut être utile pour les sélecteurs de polices, etc.)Compte tenu de cela, vous pouvez créer une pile de familles de polices et insérer des icônes dans les
<option>
balises, par exemple.d'où
★
vientIcons
et le reste vientRoboto
.Notez cependant que les polices personnalisées ne fonctionnent pas pour la sélection mobile.
la source
red
: <option style = "color: red;">En fait, vous pouvez ajouter: avant et: après et les styliser. Au moins c'est quelque chose
la source
Nous sommes en 2017 et il est possible de cibler des options de sélection spécifiques. Dans mon projet, j'ai un tableau avec une classe = "variations" , et les options de sélection sont dans la cellule du tableau td = "value" , et la sélection a un ID select # pa_color . L'élément option a également une classe option = "attaché" (entre autres balises de classe). Si un utilisateur est connecté en tant que client grossiste, il peut voir toutes les options de couleur. Mais les clients de détail ne sont pas autorisés à acheter 2 options de couleur, je les ai donc désactivées
Cela a pris un peu de logique, mais voici comment j'ai ciblé les options de sélection désactivées.
CSS
Avec cela, mes options de couleur ne sont visibles que pour les clients en gros.
la source
Laissant ici une alternative rapide, en utilisant la bascule de classe sur une table. Le comportement est très similaire à celui d'une sélection, mais peut être stylisé avec une transition, des filtres et des couleurs, chaque enfant individuellement.
la source
Vous pouvez utiliser des styles en ligne pour ajouter un style personnalisé aux
<option>
balises.Par exemple:
<option style="font-weight:bold;color:#09C;">Option 1</option>
cela appliquera les styles à cet<option>
élément particulier uniquement.Ensuite, vous pouvez utiliser un peu de magie javascript pour appliquer les styles en ligne à tous les
<option>
éléments d'une<select>
balise comme suit:var select = $(document).getElementById('#select-element-id')
var option = select.children('#option-element-id')
option.css('font-weight', 'bold')
option.css('font-size', '24px')
Vous pouvez également utiliser
<option value="" disabled> <br> </option>
pour ajouter un saut de ligne entre les options.la source
Cet élément est rendu par le système d'exploitation, pas HTML. Il ne peut pas être stylisé via CSS.
essayez cela peut vous aider
la source
Vous pouvez ajouter une classe et donner un poids de police: 700; en option. Mais en utilisant cela, tout le texte deviendra en gras.
la source
Cela fonctionnera certainement. L'option de sélection est rendue par OS et non par html. C'est pourquoi le style CSS n'a pas d'effet, .. généralement
option{font-size : value ; background-color:colorCode; border-radius:value; }
cela fonctionnera, mais nous ne pouvons pas personnaliser le remplissage, la marge, etc.
Le code ci-dessous fonctionne à 100% pour personnaliser la balise de sélection tirée de cet exemple
la source
Même s'il n'y a pas beaucoup de propriétés à modifier, mais vous ne pouvez obtenir le style suivant qu'avec css:
HTML:
CSS:
la source