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 (: |
>>: CSS implementiert die Webkomponentenfunktion zum Verschieben des Nachrichtenfelds
Ergebnis: html <nav id="nav-1"> &...
Inhaltsverzeichnis Vorwort Axios-Installation und...
Laden Sie MySQL-8.0.23 herunter Klicken Sie zum H...
Inhaltsverzeichnis Vorwort 1. JDBC-Timeout-Einste...
Inhaltsverzeichnis Vorwort 1. Was ist ein Abschlu...
Hier sind einige Probleme, die bei der Verwendung...
Die Installationsmethode von MySQL5.7 rpm unter L...
In diesem Artikelbeispiel wird der spezifische Co...
Nginx kann seine Reverse-Proxy-Funktion zum Imple...
Ohne weitere Umschweife sind dies diese drei Meth...
Bash-Initialisierungsdateien Interaktive Login-Sh...
Vorwort Bei der Entwicklung eines Projekts stieß ...
1.17.9 Wirklich leckerer Nginx-Download-Adresse: ...
Da der Einfluss des Unternehmens wächst und seine...
Listen werden verwendet, um eine Reihe ähnlicher o...