Karsten: Problem mit position: absolute; in framesets

Hallo zusammen.

Ich habe schon unzählige Forum durchsucht und nicht mal den Ansatz einer Lösung für mein Problem gefunden. Aber vielleicht kann mir ja hier jemand helfen.

Um das Problem zu verdeutlichen, folgt zunächst der vereinfachte Quellcode (besteht aus 2 Dateien):

fs.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
 <frameset rows="73,*,20">
  <frame name="header" src="header.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize" />
  <frame name="main" src="recherche.html" marginwidth="0" marginheight="0" scrolling="yes" frameborder="0" noresize="noresize" />
  <frame name="footer" src="footer.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize" />
 </frameset>
</html>

recherche.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <style type="text/css">
   .showfield{
    position:absolute;
    background-color:red;
    top: 100px;
    left: 100px;
    width: 2000px;
    height: 2000px;
   }
  </style>
 </head>
 <body>
  <div class='showfield'>Inhalt</div>
 </body>
</html>

Erklärung:
In der Datei mit den Frameset interessiert nur das mittlere, in den die Datei recherche.html geöffnet werden soll.
Wenn man die Datei fs.html öffnet wird darin ein absolut positioniertes div dargestellt, das größer ist als das verfügbare Frame. Das Problem ist, dass im IE (ich verwende IE 7) das div über der Scrollbar gerendert wird.
Wenn ich den DOCTYPE auf HTML setze, was ich eher vermeiden möchte, dann funktioniert es wie erwartet.

MfG Karsten

  1. Hi,

    Ich habe schon unzählige Forum durchsucht und nicht mal den Ansatz einer Lösung für mein Problem gefunden. Aber vielleicht kann mir ja hier jemand helfen.

    zunächst einmal danke ich Dir für das Finden und Posten dieses Problems. Ich habe wieder etwas über den IE gelernt.

    Wenn man die Datei fs.html öffnet wird darin ein absolut positioniertes div dargestellt, das größer ist als das verfügbare Frame. Das Problem ist, dass im IE (ich verwende IE 7) das div über der Scrollbar gerendert wird.

    Im IE 6 ist das Problem übrigens identisch.

    Wenn ich den DOCTYPE auf HTML setze, was ich eher vermeiden möchte, dann funktioniert es wie erwartet.

    Wenn Du dem <html>-Element ein overflow:auto gibst, funktioniert es ebenfalls.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Wenn Du dem <html>-Element ein overflow:auto gibst, funktioniert es ebenfalls.

      So funktionierts tatsächlich.

      Vielen Dank

      Karsten