Verona Busch: DIV-Layer ohne horizontalem Scrollbalken?

Ich habe ein Problem mit einem <div>-Layer. Wenn ich im [Platzhalter] einfachen Text integriere, dann erhalte ich bei "overflow" richtigerweise einen vertikalen Scrollbalken. Setzte ich im [Platzhalter] jedoch ein Formular <form> mit einer weiteren Tabelle <table> ein, dann spinnt der IE6 rum. Er liefert mir generell auch den horizonalten Scrollbalken. Opera hingegen macht weiterhin nur den vertikalen Scrollbalken. Übrigens ist es IE6 egal, wie groß bzw. klein die Formular-Tabelle ist. Tabellenbreite von 300px bei Layerbreite von 540px führt trotzdem zum horizontalen Scrollbalken. Das hier wäre das Grundgerüst:

<table width="750" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <img src="images/leer.gif" width="100" height="90" alt=""/>
    </td>
    <td>
      <img src="images/leer.gif" width="540" height="90" alt=""/>
    </td>
  </tr>
  <tr>
    <td colspan="2">
      <div id="Textinhalt" style="position:relative;width:540px;height:200px;z-index:1;background-color:#FFFFFF;layer-background-color:#0000FF;overflow:auto;">
        [Platzhalter]
      </div>
    </td>
  </tr>
</table>

Fragt mich nicht nach dem Sinn vom gleichzeitigen Einsatz eines Tabellenlayouts und eines Layerlayouts. Es soll so gemacht werden?! Wer kennt das Problem? Den horizontalen Scrollbalken mit Javascript auszublenden ist keine Möglichkeit, da Scripting deaktiviert sein wird.

Gruß V.

  1. hallo verona!

    ich hatte ein ähnliches problem, noch vorgestern...
    also, wenn du in den platzhalter eine tabelle einbaust und dieser tabelle eine prozentual kleinere breite gibst (z.b. 90%), dürfte dieses problem aus der welt sein.

    <div id="Textinhalt" style="position:relative;width:540px;height:200px;z-index:1;background-color:#FFFFFF;layer-background-color:#0000FF;overflow:auto;">
    <table width="90%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>
    [Platzhalter]
    </td>
    </tr>
    </table>
    </div>

    ich hoffe, es klappt jetzt.

    grüße
    susa

    Ich habe ein Problem mit einem <div>-Layer. Wenn ich im [Platzhalter] einfachen Text integriere, dann erhalte ich bei "overflow" richtigerweise einen vertikalen Scrollbalken. Setzte ich im [Platzhalter] jedoch ein Formular <form> mit einer weiteren Tabelle <table> ein, dann spinnt der IE6 rum. Er liefert mir generell auch den horizonalten Scrollbalken. Opera hingegen macht weiterhin nur den vertikalen Scrollbalken. Übrigens ist es IE6 egal, wie groß bzw. klein die Formular-Tabelle ist. Tabellenbreite von 300px bei Layerbreite von 540px führt trotzdem zum horizontalen Scrollbalken. Das hier wäre das Grundgerüst:

    <table width="750" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>
          <img src="images/leer.gif" width="100" height="90" alt=""/>
        </td>
        <td>
          <img src="images/leer.gif" width="540" height="90" alt=""/>
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <div id="Textinhalt" style="position:relative;width:540px;height:200px;z-index:1;background-color:#FFFFFF;layer-background-color:#0000FF;overflow:auto;">
            [Platzhalter]
          </div>
        </td>
      </tr>
    </table>

    Fragt mich nicht nach dem Sinn vom gleichzeitigen Einsatz eines Tabellenlayouts und eines Layerlayouts. Es soll so gemacht werden?! Wer kennt das Problem? Den horizontalen Scrollbalken mit Javascript auszublenden ist keine Möglichkeit, da Scripting deaktiviert sein wird.

    Gruß V.

    1. Hallo Susa,

      vielen Dank. Das hat tatsächlich funktioniert. Komisch. Dürfte doch eigentlich egal sein, ob es Pixel sind oder Prozent. Hast Du eine plausible Erklärung dafür? Liegt das an der Darstellung innerhalb eines <div>-Layers? So von wegen Block- und Inline-Element?

      Da bin ich jetzt aber echt neugierig. Aber erst mal vielen lieben Dank. Das hat mich echt zur Weissglut gebracht. :-)

      Vero

      1. hallo vero,
        bis ich selbst darauf gekommen bin, lagen meine nerven auch fast blank.
        also, du hast dem div-layer eine ganz feste größe zugeteilt, was ja auch korrekt ist, damit overflow:auto funtioniert. seltsamerweise tut es das nicht wirklich immer. die tabelle befindet sich innerhalb des layers, d.h. die 90% beziehen sich auf die pixel bzw. größe des layers--> 90% des layers!
        freut mich, dass ich dir helfen konnte.
        susa

        Hallo Susa,

        vielen Dank. Das hat tatsächlich funktioniert. Komisch. Dürfte doch eigentlich egal sein, ob es Pixel sind oder Prozent. Hast Du eine plausible Erklärung dafür? Liegt das an der Darstellung innerhalb eines <div>-Layers? So von wegen Block- und Inline-Element?

        Da bin ich jetzt aber echt neugierig. Aber erst mal vielen lieben Dank. Das hat mich echt zur Weissglut gebracht. :-)

        Vero