Lösung für die horizontale Bildlaufleiste im Iframe unter IE6

Lösung für die horizontale Bildlaufleiste im Iframe unter IE6
Die Situation ist wie folgt: (PS: Das rote Kästchen stellt den Iframe-Bereich dar und das graue Rechteck stellt das oben erwähnte Element mit der Breite: 100 % dar. Sie müssen IE6 verwenden, um den Effekt zu sehen.)
Wenn die Höhe des grauen Felds größer als die Höhe des Iframes ist, werden vertikale und horizontale Bildlaufleisten angezeigt (unter IE6).

Der Effekt ist normal, wenn die Höhe der grauen Box kleiner ist als die Höhe des Iframes.

Lösung 1: Fügen Sie der inneren Seite Stil hinzu: html { overflow-y: scroll; }
Wenn die Höhe des grauen Felds größer als die Höhe des Iframes ist, wird nur die vertikale Bildlaufleiste angezeigt und der Effekt ist korrekt.

Wenn die Höhe des grauen Felds kleiner als die Höhe des Iframes ist, wird die vertikale Bildlaufleiste weiterhin angezeigt (nicht verfügbar), was einen Fehler darstellt.

Lösung 2: Fügen Sie der inneren Seite einen Stil hinzu: html { overflow-x: hidden; overflow-y: auto; }
Wenn die Höhe des grauen Felds größer als die Höhe des Iframes ist, wird nur die vertikale Bildlaufleiste angezeigt, aber der Inhalt auf der rechten Seite wird nicht vollständig angezeigt (PS: Der Text darin lautet „Dies ist ein Div mit einer Höhe von 200 Pixeln“) und der Effekt ist falsch.

Wenn die Höhe des grauen Felds geringer ist als die Höhe des Iframes, wird keine Bildlaufleiste angezeigt und der Effekt ist korrekt.


Lösung 3: Nach vielen Versuchen haben wir noch immer nicht die perfekte reine CSS-Lösung gefunden und streben nach dem perfektesten Effekt. Da reines CSS das Problem nicht lösen kann, müssen wir JS verwenden. Durch den vorherigen Test haben wir festgestellt, dass keine Verarbeitung erforderlich ist, um den richtigen Effekt zu erzielen, wenn die Höhe des grauen Felds kleiner als die Höhe des Iframes ist, und wenn die Höhe des grauen Felds größer als die Höhe des Iframes ist, ist Lösung 1 perfekt. Daher hat unser JS die folgende Idee: Wenn der Browser IE6 ist und die Inhaltshöhe höher als das Iframe ist, fügen Sie dem HTML-Tag den Stil der Lösung 1 hinzu. Hier ist der jQuery-Code: (Die Idee ist ohne jQuery dieselbe.)

Code kopieren
Der Code lautet wie folgt:

$(Funktion(){
wenn($.browser.msie&&$.browser.version=="6.0"&&$("html")[0].scrollHeight>$("html").height()) $("html").css("overflowY","scroll");
});

Wenn die Höhe des grauen Felds größer als die Höhe des Iframes ist, wird nur die vertikale Bildlaufleiste angezeigt und der Effekt ist korrekt.
Der Effekt ist korrekt, wenn die Höhe des grauen Felds kleiner ist als die Höhe des Iframes.
Lerne jeden Tag glücklich zu sein (:

<<:  So implementieren Sie die Zuordnung zwischen Rahmenfenstern und die Verwendung des Zielattributs von Hyperlinks

>>:  CSS implementiert die Webkomponentenfunktion zum Verschieben des Nachrichtenfelds

Artikel empfehlen

Beispielcode zum Erstellen eines minimierten Header-Effekts nur mit CSS

Zusammengeklappte Kopfzeilen sind eine großartige...

So verbergen und entfernen Sie Bildlaufleisten in HTML

1. HTML-Tags mit Attributen XML/HTML-CodeInhalt i...

Detaillierte Schritte zur Installation von Tomcat, MySQL und Redis mit Docker

Inhaltsverzeichnis Tomcat mit Docker installieren...

Interpretieren von MySQL-Client- und Serverprotokollen

Inhaltsverzeichnis MySQL-Client/Server-Protokoll ...

Lösung für „Keine Eingabedatei angegeben“ in nginx+php

Heute ist in meiner lokalen Entwicklungsumgebung ...

Grafische Schritte zur Zabbix-Überwachung des VMware Exsi-Hosts

1. Rufen Sie das Virtualisierungscenter auf, meld...

Beispielerklärung für langsame MySQL-Abfragen und -Protokolle

1. Einleitung Durch Aktivieren des Slow Query Log...

So überprüfen Sie, ob die Firewall in Linux ausgeschaltet ist

1. Servicemethode Überprüfen Sie den Firewall-Sta...

So verwenden Sie CURRENT_TIMESTAMP in MySQL

Inhaltsverzeichnis Verwendung von CURRENT_TIMESTA...

Eintauchen in die JS-Vererbung

Inhaltsverzeichnis Vorwort Vorbereiten Zusammenfa...

Detaillierte Erklärung des Ref-Attributs von Vue

Zusammenfassen Dieser Artikel endet hier. Ich hof...

CSS-Vererbungsmethode

Gegeben sei ein Div mit folgendem Hintergrundbild...