jeanlucpicard: "top" UND "bottom" in absolut positionierten Elementen

Hi,

ich habe eine XHTML-Seite mit eine paar Bildern am Rand. Der eigentliche Inhalt befindet sich in einem Div-Layer, der wie folgt formatiert ist:

div#content
{
  position:absolute;
  left:90px;
  top:90px;
  right:2px;
  bottom:2px;
  padding:5px;
  max-width:750px;
  border:1px solid #C83200;
  background:#FFE6DD url(background.png) no-repeat;
  overflow:auto;
}

Wie man sieht soll er 90px Abstand nach oben haben und nach unten (fast) bis zum Ende des Client-Bereichs des Browsers reichen.
Im Firefox funktioniert das perfekt.
Für den IE habe ich mir immerhin einen Workaround basteln können:

div#content
{
  width:750px;
  height:expression((document.body.clientHeight-92)+"px");
  width:expression((document.body.clientWidth-92)<750?(document.body.clientWidth-92):750+"px");
}

Aber Opera (8.5) will nicht so richtig. Der Browser scheint Probleme mit der Anagabe von "top" UND "bottom" zu haben. Das Verhalten des Div-Layers ist ziemlich unberechenbar.

Nun meine Frage: Lässt sich die Geschichte auch Opera-kompatibel lösen, bzw. gibt es einen Workaround für Opera? Und haben andere Browser ebenfalls solche Probleme?
Leider habe ich auf diese Fragen trotz Suche noch keine Antworten gefunden.

Schon mal Danke für eure Antworten!

  1. Hi,

    Nun meine Frage: Lässt sich die Geschichte auch Opera-kompatibel lösen, bzw. gibt es einen Workaround für Opera?

    Sei froh, daß Du Opera nicht mit älteren Versionen getestet hast, diesbzgl. hat Opera schon immer Probleme gehabt, die sich in neueren versionen allerdings stark vermindert haben.
    Warte noch ein paar Jahre, dann wird Opera auch ein brauchbarer Browser werden, die Jungs sind auf einen positiven Weg.

    Gruß
    Avalon

    1. Hi,

      Nun meine Frage: Lässt sich die Geschichte auch Opera-kompatibel lösen, bzw. gibt es einen Workaround für Opera?

      Sei froh, daß Du Opera nicht mit älteren Versionen getestet hast, diesbzgl. hat Opera schon immer Probleme gehabt, die sich in neueren versionen allerdings stark vermindert haben.

      Ich teste mit Opera erst seit der 8. Version und habe bis jetzt noch nie Probleme mit falsch interpretiertem CSS gahabt.

      Des Verhalten des Div-Layers ist so unberechenbar, dass manchmal nirgens Scrollbalken angezeigt werden, obwohl der Inhalt nicht vollständig sichtbar ist. Und zumindest der Inhalt sollte auch im Opera weiterhin zugänglich sein.
      Deshalb bin ich jetzt dazu übergegangen, NUR für Opera die "bottom"-Angabe über folgenden CSS-Hack zu ändern:

      @media all and (min-width:0px)
      {
        div#content
        {
          bottom:auto;
        }
      }

      Wisst ihr, ob wirklich nur Opera dieses Konstrukt interpretiert?
      Und wird die "top"-"bottom"-Angabe von anderen Browsern korrekt interpretiert?