Pour le moment, j'utilise un widget JQuery sélectionné dans une boîte de dialogue JQuery et dès que vous ouvrez la liste déroulante, la taille de la liste déroulante provoque un débordement de la boîte de dialogue, ce qui entraîne: (notez qu'il y a deux barres de défilement , une pour la liste déroulante et une pour la boîte de dialogue, ce qui rend le défilement pratiquement inutile:
Est-il possible de définir:
De telle sorte que cela ressemblera plus à ça (c'est un photoshop, c'est comme ça que je veux que ça ressemble):
c'est-à-dire qu'il n'y a pas de débordement dans la boîte de dialogue, car seuls 8 éléments sont affichés avant le défilement.
tl; dr: Ajoutez cette règle CSS à votre styles.css:
.chosen-container .chosen-results {
max-height:100px;
}
<select>
). en vous référant au conteneur dans lequel vous, concepteur, avez placé le choix, afin qu’il fonctionne dans toutes les situations.Cependant, même lorsque je me suis rendu compte que ce sélecteur ne fonctionnait pas, car.css a exactement le même sélecteur, et parce que le la dernière règle déclarée gagne , ma règle n’a aucun effet. Il y a deux solutions à cela:
!important
à votre règle personnalisée (probablement de manière incorrecte)OR
Assurez-vous que votre styles.css est déclaré après Choisi.css. Mes liens étaient dans cet ordre:
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="chosen/chosen.css">
Si vous modifiez l'ordre pour que votre fichier principal.css (ou le nom de votre fichier de styles personnalisé) soit déclaré après , le problème sera également résolu.
J'ai résolu ce problème de la manière suivante.
.chosen-container .chosen-results {
color: #444;
position: relative;
overflow-x: hidden;
overflow-y: auto;
margin: 0 4px 4px 0;
padding: 0 0 0 4px;
max-height: 240px;
-webkit-overflow-scrolling: touch;
}
La réponse de Miguel n'a pas fonctionné pour moi, mais au contraire:
.dropdown-menu {
max-height:250px !important;
overflow-y: scroll;
}