jens: DIV-Höhe abhängig von anderem DIV

Tach,

ich habe auf der linken Seiten ein DIV mit Menüpunkten. Auf der rechten Seite gibt es ein weiteres DIV, welches den Inhalt darstellt.

Nun möchte ich die Högedes linken DIVs genausogroß haben, wie die des rechten DIVs. Gibts da 'ne elegante Lösung?

Vielen Dank.

Jens.

  1. hi,

    ich habe auf der linken Seiten ein DIV mit Menüpunkten. Auf der rechten Seite gibt es ein weiteres DIV, welches den Inhalt darstellt.

    Nun möchte ich die Högedes linken DIVs genausogroß haben, wie die des rechten DIVs. Gibts da 'ne elegante Lösung?

    nein.

    (dies dürfte im archiv auch mehrfach nachzulesen sein.
    CSS sieht so etwas nicht vor; versuche bitte, nicht immer noch wie beim layouten mit tabellen zu denken.)

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
    1. hi,

      ich habe auf der linken Seiten ein DIV mit Menüpunkten. Auf der rechten Seite gibt es ein weiteres DIV, welches den Inhalt darstellt.

      Nun möchte ich die Högedes linken DIVs genausogroß haben, wie die des rechten DIVs. Gibts da 'ne elegante Lösung?

      nein.

      function setNavBarHeight()
      {
      var myBox = document.getElementById("nav");
      var mySecondBox = document.getElementById("content_inner");

      myBox.style.height = mySecondBox.scrollHeight + 100;
      }

      Warum nich so?

      1. Hi,

        myBox.style.height = mySecondBox.scrollHeight + 100;

        Warum nich so?

        weil eine Einheit verlangt wird, also (mySecondBox.offsetHeight + 100) + "px";
        Ohne Javascript schauts natuerlich moeglicherweise seltsam aus...

        Gruesse, Joachim

        --
        Am Ende wird alles gut.
        1. Hi,

          myBox.style.height = mySecondBox.scrollHeight + 100;

          Warum nich so?
          weil eine Einheit verlangt wird, also (mySecondBox.offsetHeight + 100) + "px";
          Ohne Javascript schauts natuerlich moeglicherweise seltsam aus...

          Klar. Aber das setze ich mal voraus. Ich meinte auch eher, warum ein generelles "nein" von wahsaga. So funktionierts (übrigens oder ohne Angabe der Einheit px).

          Gruß,

          Jens.

          1. hi,

            Klar. Aber das setze ich mal voraus.

            microsoft hingegen rät immer wieder, es zumindest im browser aus dem eigenen hause zu deaktivieren.

            Ich meinte auch eher, warum ein generelles "nein" von wahsaga.

            weil du nach einer _eleganten_ lösung gefragt hattest.

            So funktionierts (übrigens oder ohne Angabe der Einheit px).

            "funktioniert" immer noch != "richtig".

            gruß,
            wahsaga

            --
            I'll try being nicer if you'll try being smarter.
  2. Hallo,

    versuche mal Folgendes: Erstelle ein beide Spalten umfassendes DIV (mit entsprechender Höhe), und binde darin Deine beiden DIVs, welche die gleiche Höhe haben sollen, mit der CSS-Eigenschaft height:100% ein. Eventuell kannst Du das sogar weglassen, und das Einbinden beider DIVs in ein übergeordnetes reicht schon.

    Eventuell musst Du beim linken inneren DIV noch per CSS float:left setzen, oder, was besser klappt (mozilla hat u.U. Probleme mit floatenden DIVs), wenn die Breite des linken DIVs fest ist, für das rechte stattdessen margin-left:BREITEdESlINKENDIVspx.

    Mirko42

    1. hi,

      versuche mal Folgendes: Erstelle ein beide Spalten umfassendes DIV (mit entsprechender Höhe), und binde darin Deine beiden DIVs, welche die gleiche Höhe haben sollen, mit der CSS-Eigenschaft height:100% ein. Eventuell kannst Du das sogar weglassen, und das Einbinden beider DIVs in ein übergeordnetes reicht schon.

      hast du das selber schon einmal (erfolgreich) probiert, oder ist das nur ein schuss ins blaue ...?

      mir erscheint letzteres wahrscheinlicher - da es schon einige andere vor dir probiert haben, und feststellen mussten, dass es eben so _nicht_ geht.

      gruß,
      wahsaga

      --
      I'll try being nicer if you'll try being smarter.
      1. height: 100%; bewirkt in einigen Browsern eben nicht, dass die Höhe 100% des SEITENINHALTS ist, sondern 100% des Bildschirms. Beim Scrollen wird der Rest dann abgeschnitten oder, bei absolut positionierten Elementen,  der Hintergrund hört einfach auf. Das habe ich zu meinem Leidwesen selbst schon öfter versucht ;-)

        Wahrscheinlich geht es vor allem darum, dass der Hintergrund beider Spalten bis unten durchgeht, da der Inhalt ja selten gleich lang sein wird. Andere Webseiten, bei den ich mir den Quelltext angesehen habe, lösen das so: Die Seite bekommt insgesamt einen Hintergrund zugewiesen, der für beide Spalten unterschiedliche Farben oder Muster hat. Dann werden die Navigationselemente einfach darauf gesetzt. (z.B. die Opera-Community) Ist zwar nicht elegant, aber es scheint sonst kaum kompatible Lösungen zu geben.

  3. Hallo Jens,

    ich habe auf der linken Seiten ein DIV mit Menüpunkten. Auf der rechten Seite gibt es ein weiteres DIV, welches den Inhalt darstellt.

    Nun möchte ich die Högedes linken DIVs genausogroß haben, wie die des rechten DIVs. Gibts da 'ne elegante Lösung?

    Entweder mit javascript:  style.height, bzw. offsetHeight sind deine Suchbegriffe.

    Oder -je nach deinem Layout- mit einem DIV und dessen border als Hintergrund für den Menübereich.

    Grüße,

    Jochen