select2 reagiert nicht, Breite größer als Container
Lesezeit: 3 Minuten
Alfred Torre
Ich habe ein Problem mit der Breite eines select2-Dropdowns auf meiner ASP.NET-Seite. Wenn ich versuche, die Seite mit dem Chrome-Emulator des Gerätebildschirms anzuzeigen, ist select2 größer als das enthaltende div und verschwindet rechts aus dem Bildschirm. Ich habe bei der Codeinspektion gesehen, dass automatisch ein Stilattribut hinzugefügt wird style="width: 498px;" in dem <span class="select2 select2-container select2-container--bootstrap select2-container--below"> Element, das ich nirgendwo gesetzt habe. Die einzige Operation, die ich durchgeführt habe, ist die Einstellung $("#ContentPlaceHolderContent_mySelect").select2(); in der document.ready-Funktion(). Mein select2-Dropdown ist in einem Block enthalten:
Wie kann ich diese Option style=”width” entfernen?
Das Festlegen der Anfangsbreite auf 100 % sollte dieses Problem lösen $('#mySelect').select2({ width: '100%' });
– Lars Beck
24. Juli 2017 um 9:30 Uhr
@LarsBeck Dieser Kommentar sollte als beste Antwort markiert werden 😛
– Pathos
24. August 2018 um 15:19 Uhr
Select2 fügt Klasse hinzu .select2. Sie können mit CSS überschreiben, was das Skript tut. Hier bin ich auf select2 eingestellt 100% widthverwenden !important. Wenn ich das nicht tun würde, hätte select2 eine Breite von 24 Pixel.
Sie können andere Klassen weiter anpassen select2 erzeugt nach irgendeinem Prinzip.
Bei Verwendung von CSS width:100% treten manchmal Probleme beim Scrollen auf, wenn einige Elemente eine Überlaufeigenschaft haben. Ich würde auch empfehlen, js zu verwenden.
Das <span> mit dem .select2 Klasse wird vom Select2-Plug-in direkt nach der Erstellung eines neuen select2 für eine bestimmte Klasse erstellt <select>.
Um dies zu machen span.select2 element responsive, haben wir möglicherweise einige Möglichkeiten, wie zum Beispiel:
Verwenden Sie eine %-Breite (entweder auf dem Original, bevor Sie das select2-Element erstellen, oder in der select2 Breite Konfigurationsoption).
Überschreiben über CSS (z. B. wenn wir verwenden @media() Anfragen). Beachten Sie, dass dies die Funktionalität oder Anzeige des Plugins beeinträchtigen kann.
Für die 2. können wir die verwenden benachbarter Geschwisterkombinator (+) mit dem !important auf den Breitenwert, um unsere select2’s zu stylen <span>da normalerweise die Spanne von select2 erstellt und direkt nach unserer eingefügt wird <select>.
Das Festlegen der Anfangsbreite auf 100 % sollte dieses Problem lösen
$('#mySelect').select2({ width: '100%' });
– Lars Beck
24. Juli 2017 um 9:30 Uhr
@LarsBeck Dieser Kommentar sollte als beste Antwort markiert werden 😛
– Pathos
24. August 2018 um 15:19 Uhr