Faire de multiples sélectionnez pour ajuster sa hauteur pour s'adapter à des options sans barre de défilement
Apparemment cela ne fonctionne pas:
select[multiple]{
height: 100%;
}
il fait le sélectionner avez 100% de la hauteur de la page...
auto
cela ne fonctionne pas, j'obtiens toujours la barre de défilement verticale.
D'autres idées?
- Je pense que vous êtes coincé avec l'aide de javascript. Je ne crois pas qu'il y a un moyen d'avoir une boîte de sélectionner automatiquement stretch css uniquement pour contenir le contenu.
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous pouvez utiliser le
size
attribut. Il fonctionne dans tous les navigateurs récents.Vous pouvez faire cela en utilisant la
size
attribut dans laselect
tag.En supposant que vous avez 8 options, puis vous faire comme:
Vieux, mais cela va faire ce que vous êtes après, sans besoin de jquery. Le caché dépassement de se débarrasser de la barre de défilement, et le javascript en fait la bonne taille.
Et qu'une très petite quantité de javascript
Pour jQuery vous pouvez essayer cette. Je fais toujours la suite et ça fonctionne.
Vous ne pouvez le faire en Javascript/JQuery, vous pouvez le faire avec la suite de JQuery (en supposant que vous avez donné à votre sélectionnez un id de sélection multiple):
Démo:
http://jsfiddle.net/AZEFU/
$('select.expandable').each(function() { $(this).attr('size', $(this).find('option').length) })
Je sais que la question est ancienne, mais la façon dont le sujet n'est pas fermé, je vais vous donner mon aide.
L'attribut "taille" de résoudre votre problème.
Exemple:
https://jsfiddle.net/maars/ou5f3jzy/
<optgroup>
s et<option>
s.Vous pouvez le faire avec javascript simple...
...ou limite de hauteur jusqu'à ce que le nombre de dossiers...
$('#firstSelect').attr('size', $('#firstSelect').length);
. Regardez ce violon: https://jsfiddle.net/ergt5upf/2/amis:
si vous récupérez de données à partir d'une base:
vous pouvez appeler cette
$registres = *_num_rows( Result_query )
puis
À l'aide de la taille attribut est la solution la plus pratique, toutefois il y a des bizarreries lorsqu'il est appliqué à sélectionnez éléments avec seulement deux ou trois options.
JavaScript Simple peut être utilisée pour définir la taille attribut de la valeur correcte automatiquement, par exemple, voir ce violon.
Comme mentionné ci-dessus, cette solution ne résout pas le problème quand il y a seulement deux ou trois options.
J'ai eu cette exigence récemment utilisé d'autres postes de cette question pour créer ce script:
Pour ajuster la taille (hauteur) de tous les multiples sélectionne le nombre d'options, utiliser jQuery:
Pour supprimer la barre de défilement ajouter le code CSS suivant:
Voici un extrait:
CSS:
HTML:
La manière d'une boîte de sélection est rendu est déterminé par le navigateur lui-même. Ainsi, chaque navigateur va vous montrer à la hauteur de l'option zone de liste dans une autre hauteur.
Vous ne pouvez pas l'influence que.
La seule façon vous pouvez changer cela est de faire une propre sélectionnez à partir de l'éraflure.