Comment faire un séparateur dans une balise de sélection ?
New Window
New Tab
-----------
Save Page
------------
Exit
Comment faire un séparateur dans une balise de sélection ?
New Window
New Tab
-----------
Save Page
------------
Exit
L'approche de l'option handicapée semble être la plus belle et la mieux soutenue. J'ai également inclus un exemple d'utilisation de l'optgroup.
optgroup (cette méthode est plutôt mauvaise) :
<select>
<optgroup>
<option>First</option>
</optgroup>
<optgroup label="_________">
<option>Second</option>
<option>Third</option>
</optgroup>
</select>
option désactivée (un peu mieux) :
<select>
<option>First</option>
<option disabled>_________</option>
<option>Second</option>
<option>Third</option>
</select>
Et si vous voulez être vraiment fantaisiste, utilisez le caractère horizontal de dessin de boîte unicode.
(MEILLEURE OPTION !)
<select>
<option>First</option>
<option disabled></option>
<option>Second</option>
<option>Third</option>
</select>
L'Unicode a bien fonctionné pour moi dans jsfiddle, mais lorsque j'ai essayé de le copier/coller dans mon code, il n'a pas été traduit correctement. Donc pour ceux qui ont ce problème, l'encodage HTML pour le caractère unicode horizontal de dessin de boîte est ─. fileformat.info/info/unicode/char/2500/index.htm et il y a aussi une option plus lourde à ━ fileformat.info/info/unicode/char/2501/index.htm
Sur Mobile Firefox (et peut-être sur d'autres navigateurs mobiles), l'option disabled
est affichée avec un bouton radio désactivé à droite...
Mais les optgroups sont rendus différemment sur PC et sur mobile, donc l'option désactivée reste la meilleure solution.
Au lieu de mettre une étiquette sur les optgroups, essayez d'ajouter ceci à votre feuille de style : optgroup + optgroup { border-top : 1px solid black } C'est beaucoup moins ringard qu'un tas de tirets.
Les étiquettes d'Optgroup doivent décrire le groupe. Si un navigateur mettait en œuvre la capture d'écran de la spécification HTML 4.01, l'utilisateur serait confronté à des rangées de tirets et devrait examiner chacun d'entre eux pour savoir ce qui se cache derrière.
@Laurence : IE7 ne supporte pas les styles css sur les éléments optgroup ou option. Du moins pas les bordures
Bonjour James, j'aime bien cette solution aussi mais les lecteurs d'écran liront "disable option dash dash dash dash..." ce qui peut être très déroutant pour les utilisateurs handicapés... avez-vous une idée de comment nous pourrions éviter cela ? merci !
Est-il possible d'ajouter une classe aux éléments visuels que l'on ne veut pas faire parler, puis d'ajouter une commande ARIA qui masque/désactive la classe ? Peut-être quelque chose comme l'une des techniques utilisées ici ? asurkov.blogspot.com/2012/02/
Au lieu de l'hymne normal, je l'ai remplacé par un symbole de barre horizontale provenant du jeu de caractères étendu. Cela ne sera pas très joli si l'utilisateur est dans un autre pays qui remplace ce caractère, mais cela fonctionne bien pour moi. Il y a toute une gamme de caractères différents que vous pouvez utiliser pour obtenir de grands effets et il n'y a pas de css impliqué.
<option value='-' disabled></option>
Une autre solution consiste à utiliser une image d'arrière-plan css 1x1 sur l'option qui ne semble fonctionner qu'avec firefox et à avoir une solution de repli "----".
<option value="" disabled="disabled" class="SelectSeparator">----</option>
.SelectSeparator
{
background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==);
color:black;
background-repeat:repeat-x;
background-position:50% 50%;
background-attachment:scroll;
}
ou d'utiliser le javascript (jquery) pour :
-hide the select element and
-show a div which can be completely styled and
-reflect the div state onto the select for the form submit
http://tutorialzine.com/2010/11/better-select-jquery-css3/
voir aussi Comment ajouter une ligne horizontale dans un contrôle de sélection html ?
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
J'ajoute généralement une option désactivée dont le libellé est un espace blanc.