Helge: position: fixed als 'Framefake' + Anker = Ärger

Hallo allerseits,
hier wieder ein Beitrag zum beliebten Thema "position: fixed" ;-)
Mal angenommen, ich komme auf die Idee, am Kopf einer Seite ein div mit position: fixed als bessere Alternative zu einem Frame zu verwenden (jaja, ich weiß: 'fixed' ist doof, Frames sind auch doof, fixed als 'Ersatz' für Frames ist ganz besonders doof usw. *gg*) und habe auf dieser Seite interne Verweise zu Ankern, dann taucht das Problem auf, dass ein Sprung zu einem Anker den angesprungenen Anker natürlich am oberen Browserrand positioniert - im Zweifelsfalle also unter meinem 'gefakten Frame', den dieses soll - klar - einen höheren z-index als der Rest der Elemente haben. Hrghh ...
Zur Verdeutlichung ein Link (geht natürlich nur mit Mozilla/NS6/Opera etc, nicht mit IE):
http://www.limoni.de/area51/beispiel.html
Was nun? Gibt es dafür eine javascript-freie, ordentliche Lösung, die mir trotzdem die Gunst des Valligators erhält?

Danke für eure Anteilnahme und schönen Abend!

Helge

  1. Moin!

    (jaja, ich weiß: 'fixed' ist doof, Frames sind auch doof, fixed als 'Ersatz' für Frames ist ganz besonders doof usw. *gg*)

    Wer hat Dir den Quatsch erzaehlt? Das Gegenteil ist der Fall. position:fixed ist *die* Framealternative des... Jahrzehnts?

    und habe auf dieser Seite interne Verweise zu Ankern, dann taucht das Problem auf, dass ein Sprung zu einem Anker den angesprungenen Anker natürlich am oberen Browserrand positioniert - im Zweifelsfalle also unter meinem 'gefakten Frame', den dieses soll - klar - einen höheren z-index als der Rest der Elemente haben. Hrghh ...

    Yupp, hatte ich neulich auch, das Problem. Hab deswegen meine Ueberschrift doch nicht fixed gemacht, sondern nur absolut positioniert. Schade, waere schoen gewesen. Eine richtige Loesung ist mir auch nicht eingefallen. Ich hoffe mal, hier sagt noch jemand was. *g*

    So long

    --
    "Wer den freien Genuss von Cannabis befürwortet, nimmt in verantwortungsloser Weise den Tod von Tausenden junger Menschen in Kauf."
        -- Dr. Edmund Stoiber, 1997

  2. Hallo Helge!

    Also in der Theorie würde ich sagen positioniere den unteren '#inhalt' auch mit fixed.

    #inhalt {
      position:fixed;
      top:200px;
      left:0px;
      right:0px;
      bottom:0px;
      overflow:scroll;
    }

    Problem: Geht dann auch schon nicht mehr im Opera, da er in _gefixten_ Elementen nicht mehr scrollen kann. Dumm gelaufen *g*.

    Falls Du nur zum oberen Rand von '#inhalt' springen willst könntest Du auch noch folgendes Probieren.

    1. Alles CSS Angaben von '#inhalt' löschen.
    2. Neu hinzufügen...
        div#test {
          margin-bottom:200px;
        }
    3. Im HTML-Bereich gleich direkt hinter <div id="inhalt">
        <div id="test"><a id="anker0" name="anker0">.</a></div>
        hinzufügen.

    Im Test-Div muß übrigens irgend etwas drinne sein (  reicht nicht) sonst kapiert Opera das wiederum nicht.

    Falls Du allerdings auch zu anderen Positionen innerhalb von '#inhalt' springen willst weiß ich auch jetzt so spontan auch nicht weiter.

    Viel Spaß noch,
    Sönke