Nina: Problem mit Scrollbalken in Frame u. Doctype

Hallo an alle,

ich habe folgendes Problem mit der Anzeige einer Datei in einem Frame:

Ich habe ein Frameset mit zwei Frames. Im rechten Frame soll ein etwas längerer Text angezeigt werden. Sobald allerdings ein vertikaler Scrollbalken entsteht, entsteht automatisch auch ein horizontaler obwohl gar keiner notwendig wäre. Das passiert nur wenn ich in der Datei die auf der rechten Seite angezeigt werden soll eine Doctype Deklaration angebe. Der Fehler tritt nur im IE auf.

Weg lassen kann ich die Doctype Deklaration ja auch nicht, da sonst die Seite nicht mehr valide ist.

Kann mir vielleicht jemand einen Tipp geben wie ich diesen IE-Bug umgehen kann?
Anbei noch der Code vom Frameset und der Datei die auf der rechten Seite angezeigt wird:

Danke im Voraus.

Frameset:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
 <title></title>
</head>

<frameset cols="200, 500">
 <frame src="linkeSeite.html">
 <frame src="rechteSeite.html">
</frameset>
</html>

Rechte Seite:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/transitional.dtd">

<html>
<head>
 <title></title>
</head>
<body>
 <p style="margin: 500px 0 500px 0;"> Beispieltext</p>
</body>
</html>

Gruss
Nina

  1. Hallo Nina,

    Sobald allerdings ein vertikaler Scrollbalken entsteht, entsteht automatisch auch ein horizontaler obwohl gar keiner notwendig wäre. Das passiert nur wenn ich in der Datei die auf der rechten Seite angezeigt werden soll eine Doctype Deklaration angebe. Der Fehler tritt nur im IE auf.

    das ist ein fieser kleiner IE6-Bug, schau mal hier:
    http://www.visuelya.de/pgs/item.php?id=00008

    Gruß aus Köln-Ehrenfeld,

    Elya

    --
    "Alle mal an die Nase fassen, und zwar an die eigene": </archiv/2003/9/57903/#m324482>
    _____________
    elyas virtuelle Altbauwohnung: http://www.visuelya.de
  2. Hallo Nina,

    Ich habe ein Frameset mit zwei Frames. Im rechten Frame soll ein etwas längerer Text angezeigt werden. Sobald allerdings ein vertikaler Scrollbalken entsteht, entsteht automatisch auch ein horizontaler obwohl gar keiner notwendig wäre.

    versuche es mit overflow-x:hidden; overflow-y:auto; Der IE kennt diese Eigenschaften. Allerdings hast du dann kein valides CSS mehr.
    Ggf. diese Eigenschaften in einem separaten Stylesheet nur für den IE.

    Grüße,

    Jochen

    1. Hallo Jochen,

      versuche es mit overflow-x:hidden; overflow-y:auto; Der IE kennt diese Eigenschaften. Allerdings hast du dann kein valides CSS mehr.

      Ich möchte allerdings nicht grundsätzlich vermeiden dass keine horizontalen Balken entstehen sondern nur dann keine, wenn keine notwendig sind.

      Wenn ich den IE in den quirks Modus versetze (ohne DTD url) dann klappts. Ich weiss aber nicht ob das so ganz sauber ist.

      1. Hallo Nina,

        Wenn ich den IE in den quirks Modus versetze (ohne DTD url) dann klappts. Ich weiss aber nicht ob das so ganz sauber ist.

        Sauber ist das schon. Der IE 6 im Quirks-Modus verhält sich beim rendern der Seite wie ein IE 5.x Er macht also die gleichen Fehler wie er. Boxmodel Bug etc.

        Grüße,

        Jochen

  3. Hi!

    eine Doctype Deklaration angebe.

    Wenn Du eine DTD mit URL angibst, dann schaltet der IE in den standardkompatiblen Mode, ohne DTD oder ohne den Link darin arbeitet er im rückwärtskompatiblen Mode und interpretiert den Code eher wie die veralteten Browser.
    Vielleicht hat es hier damit was zu tun...

    BTW: Hast Du versucht, die Scrollbars per css (overflow) zu steuern? Funktioniert das nicht?

    Gruß, rob

    1. Hallo Rob,
      Danke für die Antwort.

      ohne DTD oder ohne den Link darin arbeitet er im rückwärtskompatiblen Mode und interpretiert den Code eher wie die veralteten Browser.

      »»
      Hat der quirks mode dann irgendwelche Nachteile?

      Vielleicht hat es hier damit was zu tun...

      BTW: Hast Du versucht, die Scrollbars per css (overflow) zu steuern? Funktioniert das nicht?

      »»
      Dann erhalte ich aber kein valides CSS mehr.
      Gruss
      nina

  4. Hallo Nina!

    Ich habe ein Frameset mit zwei Frames. Im rechten Frame soll ein etwas längerer Text angezeigt werden. Sobald allerdings ein vertikaler Scrollbalken entsteht, entsteht automatisch auch ein horizontaler obwohl gar keiner notwendig wäre. Das passiert nur wenn ich in der Datei die auf der rechten Seite angezeigt werden soll eine Doctype Deklaration angebe. Der Fehler tritt nur im IE auf.

    Genau auf dieses Problem bin ich gestern auch gestossen. Das Problem scheint zu sein, dass der vertikale Scrollbalken im IE mit zum Content-Bereich des Frames zählen zu scheint (gute Browser zählen die Scrollbalken nicht mit zum Content-Bereich!). Daher will der IE immer um die Breite des Scrollbalkens horizontal scrollen, selbst wenn sich unter dem Scrollbar kein Inhalt befindet!

    Mein Lösungsansatz, welcher voll XHMTL 1.0 Transitional konform ist und kein ungültiges CSS voraussetzt, war es, die Eigenschaft scrolling="yes" im (i)frame zu setzen. Dadurch erscheint nicht mehr der horizontale Scrollbalken. Nachteil ist jedoch, dass nun der vertikale Scrollbalken immer erscheint, auch dann, wenn es nichts nach unten zu scrollen gibt. Für mich war dies jedoch zu verkraften.

    1. Hallo Sven,

      Mein Lösungsansatz, welcher voll XHMTL 1.0 Transitional konform ist und kein ungültiges CSS voraussetzt, war es, die Eigenschaft scrolling="yes" im (i)frame zu setzen. Dadurch erscheint nicht mehr der horizontale Scrollbalken. Nachteil ist jedoch, dass nun der vertikale Scrollbalken immer erscheint, auch dann, wenn es nichts nach unten zu scrollen gibt. Für mich war dies jedoch zu verkraften.

      es gibt noch etwas: conditional comments einzusetzen, die nur für den IE sichtbar sind und dort overflow-x:; zu setzen. Ist vollständig valide und der IE hat, was er will. Siehe auch den Link in [pref:t=74201&m=427646]

      Gruß aus Köln-Ehrenfeld,

      Elya

      --
      "Alle mal an die Nase fassen, und zwar an die eigene": </archiv/2003/9/57903/#m324482>
      _____________
      elyas virtuelle Altbauwohnung: http://www.visuelya.de