Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie gehe ich mit Inkonsistenzen in der Dropdown-Listenbreite im Internet Explorer um?

Linda Hamilton
Freigeben: 2024-10-20 15:05:29
Original
455 Leute haben es durchsucht

How to Handle Drop-Down List Width Inconsistency in Internet Explorer?

So passen Sie die Breite von Dropdown-Listen im IE an

Im Internet Explorer erben Dropdown-Listen die Breite ihrer zugehörigen Dropboxen. In anderen Browsern wie Firefox passt sich die Listenbreite jedoch dem Inhalt an, was zu Inkonsistenzen im Erscheinungsbild führt. Dies kann zu übermäßigem Leerraum auf Seiten führen, wenn die Dropbox-Breite erweitert wird, um das längste Element aufzunehmen.

Um dieses Problem zu beheben, kann die Verwendung von jQuery und CSS eine Problemumgehung darstellen. Der folgende jQuery-Code verarbeitet verschiedene Ereignisse, um die Breite der Dropdown-Liste umzuschalten, einschließlich Fokus, Mouseover, Mouseout, Klicks und Unschärfen:

if (!$.support.leadingWhitespace) { // if IE6/7/8
    $('select.wide')
        .bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); })
        .bind('click', function() { $(this).toggleClass('clicked'); })
        .bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); }})
        .bind('blur', function() { $(this).removeClass('expand clicked'); });
}
Nach dem Login kopieren

Ergänzen Sie diesen jQuery-Code mit dem folgenden CSS:

select {
    width: 150px; /* Or whatever width you want. */
}
select.expand {
    width: auto;
}
Nach dem Login kopieren

Dieses CSS legt eine feste Breite für Dropboxen fest, sodass Sie eine gewünschte Breite angeben können, beispielsweise 150 Pixel. Wenn die Dropdown-Liste erweitert wird, wird die Klasse „expand“ angewendet, die die feste Breite mit einer automatisch berechneten Breite basierend auf dem Inhalt überschreibt.

Um diese Lösung zu verwenden, fügen Sie einfach die Klasse „wide“ zur relevanten hinzu Dropdown-Elemente:

<select class="wide">
    ...
</select>
Nach dem Login kopieren

Dieser Ansatz gewährleistet eine einheitliche Breite in allen Browsern und ermöglicht gleichzeitig die Erweiterung und Verkleinerung der Dropdown-Liste nach Bedarf, wodurch das IE-spezifische Problem der Breitenvererbung gelöst wird.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Inkonsistenzen in der Dropdown-Listenbreite im Internet Explorer um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!