Frage

Ich habe einen Iframe. Der Inhalt ist breiter als die Breite I Einstellung bin so der iframe bekommt eine horizontale Bildlaufleiste. Ich kann nicht die Breite des iframe erhöhen, so ich möchte nur die Bildlaufleiste entfernen. Ich habe versucht, die Scroll-Eigenschaft auf „Nein“, aber das tötet beiden Bildlaufleisten und ich möchte die vertikalen. Ich habe versucht, overflow-x auf „versteckt“ und dass die horizontale Bildlaufleiste in ff getötet, aber nicht im Internet Explorer. traurig für mich.

War es hilfreich?

Lösung

scrolling="yes"  horizontalscrolling="no" verticalscrolling="yes"

Setzen Sie, dass in Ihrem iFrame-Tag.

Sie brauchen nicht herum zu verwirren mit dem Versuch, dies in CSS formatiert werden.

Andere Tipps

Die Scrollbar nicht eine Eigenschaft des <iframe> ist, es ist eine Eigenschaft der Seite, die es enthält. Versuchen Sie overflow-x: hidden auf dem <html> Element der inneren Seite setzen.

Sie könnten versuchen, die iframe in einem div setzen und dann mit dem div für das Scrollen. Sie können das Scrollen auf der div in IE ohne Probleme steuern, IE nur wirklich haben Probleme mit iframe Scrollen. Hier ist ein kurzes Beispiel, die den Trick tun sollen.

<html>
    <head>
        <title>iframe test</title>

        <style>         
        #aTest { 
            width: 120px;
            height: 50px;
            padding: 0;
            border: inset 1px #000;
            overflow: auto;
        }

        #aTest iframe {
            width: 100px;
            height: 1000px;
            border: none;
        }
        </style>
    </head>
    <body>
        <div id="aTest">
            <iframe src="whatever.html" scrolling="no" frameborder="0"></iframe>
        </div>
    </body>
</html>
<iframe style="overflow:hidden;" src="about:blank"/>

sollte in IE arbeiten. IE6 hatte Probleme Stützüberlauf-x und Überlauf-y.

Eine andere Sache zu beachten ist, dass die IE Grenze auf dem iframe nur entfernt werden, wenn Sie die „frameborder“ -Attribut in camelcase gesetzt.

<iframe frameBorder="0" style="overflow:hidden;" src="about:blank"/>

wäre es schön, wenn Sie es richtig mit CSS-Stil könnten, aber es funktioniert nicht in IE.

Alle diese Lösungen nicht für mich arbeiten oder waren nicht zufriedenstellend. Mit dem rollbaren DIV könnten Sie die horizontale Bildlaufleiste verschwinden lassen, aber Sie würden immer die vertikalen dann haben.

Also, für meine Website, wo ich sicher sein kann, die feste Höhe aller iframes zu steuern, dies folgende Lösung sehr gut funktioniert. Es ist einfach versteckt die horizontale Bildlaufleiste mit einem DIV:)

    <!-- This DIV is a special hack to hide the horizontal scrollbar in IE iframes -->
<!--[if IE]>
<div id="ieIframeHorScrollbarHider" style="position:absolute; width: 768px; height: 20px; top: 850px; left: 376px; background-color: black; display: none;">
</div>
<![endif]-->
<script type="text/javascript">
  if (document.getElementById("idOfIframe") != null && document.getElementById("ieIframeHorScrollbarHider") != null)
  {
    document.getElementById("ieIframeHorScrollbarHider").style.display = "block";
  }
</script>

Sie können auch versuchen, die Breite des Körpers der Seite einstellen, die zu 99% innerhalb des iframe enthalten sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top