Hi,
folgendes Problem:
ich habe auf einer Seite per DIV-Tags mit position:absolute einen Bereich z.B. 100 Pixel unter dem Seitentop plaziert. Der Inhalt des Bereiches wird je nach Bedarf durch Includes von PHP gemalt und geschrieben.
Die Includes enthalten natürlich weder Head- noch Body-Tags, sondern benutzen die der Elternseite.
Wenn der Inhalt des absoluten Bereichs zu groß wird, kann man scrollen (overflow:auto).
Jetzt wollte ich in meiner kindlichen Einfalt, um nach dem Scrollen eines solchen Inhalts wieder an seinen Anfang zurückzukommen, einen Anker an dessen Top plazieren und am unteren Ende des Inhalts einen Link auf den Anker. Halt ganz wie üblich…
Wenn ich jetzt jedoch diesen Anker anspringe, bleibt er unter den 100 Pixeln Seitenoberkante verborgen, für das Anspringen wird also nicht die Oberkante des festen Bereiches, sondern die Oberkante der Elternseite genommen.
Frage: Kann man in Bereichen mit position:absolute überhaupt noch mit Ankern arbeiten, wenn ja, wie bekommt man eine saubere Positionierung der Anker hin. Wenn nein, gibt es noch andere Möglichkeiten, innerhalb eines „Inhalts“ hin und her zu springen?
Gruß!
Kalle
Ja.
Aber mit overflow:auto; funktioniert das nicht wenn der Verweis außerhalb der Scrollbox steht.
Danke, in meinem speziellen Fall war die Lösung kein Problem - ganz nach oben springen geht ja auch einfach durch neu laden - ich dachte nur an Anker, die über die Seite verteilt sind. Ich werde das in Zukunft einplanen und anders konstruieren.
Habe mich geirrt.
css-Spalten :: Frame Klassiker
Die Scrollbox enthält Verweise außerhalb der Scrollbox.
Das Sprungmenü ist über die Tabtaste ( :focus ) zu erreichen.
Vielen Dank! - Ich habe mir das Beispiel, das Du mir angegeben hast, einmal genauer angesehen. Da werden ja extra CSS für IE 5,6 u. 7 mit teilweise genau errechneten (expression: ) Höhen und Breiten aufgeführt, damit alles am Ende richtig funktioniert (im Layout-Editor des Dreamweaver ergibt das ein unübersichtliches Durcheinander). Ich habe das für mich etwas einfacher gelöst. Dadurch funktioniert zwar der Anker nicht, aber den brauche ich auch nicht unbedingt, ansonsten läuft jedoch auf den vier Browsern, die ich auf dem Desktop habe, alles ganz gleich und einwandfrei. Bei den IE5 u.6 scrollen die fixed-Bereiche einfach mit nach oben, was in meinem Fall letztenendes auch niemand stören würde - im Gegenteil, es ist ja schon wieder modern, dass die Steuerberiche beim Scrollen verschwinden.
Außerdem habe ich eine leichte Abneigung gegen Extrawürste für einen bestimmten Browser
Ist aber interessant, dass man auch mit CSS ganz schön basteln muß, um so etwas wirklich optimal hinzubekommen.
Da werden ja extra CSS für IE 5,6 u. 7 mit teilweise genau errechneten (expression: ) Höhen und Breiten aufgeführt, damit alles am Ende richtig funktioniert (im Layout-Editor des Dreamweaver ergibt das ein unübersichtliches Durcheinander)
Das habe ich verbrochen.
Heute verwende ich nur noch zwei css-Dateien für das Screendesign und viel weniger Hacks.
Ich fürchte, wir lassen uns durch das jetzt übliche, angeblich zeitgemäße Design von Webseiten ein wenig verrückt machen. Ich finde solche Seiten mit tausend Farbverläufen, im Hintergrund wegdämmernden Bildern und was weiß ich noch alles oft einfach überladen und sauberer Code bleibt dabei auf der Strecke - vielleicht bin ich auch schlicht zu alt für diese Spielchen und klammere mich zu sehr an schlichte Sachlichkeit.
P.S. Ich wäre froh, wenn ich immer wüßte, was wirklich sauberer Code ist
Wenns ebend geht würde ich heute für alle Browser großflächige, overflow: auto; Bereiche meiden.
Das Problem mit den unerreichbaren Sprungmarken ist, daß auch externe Links
auf eine ID deiner Seite verweisen könnten.
<a href="http://seite.html#anker">zur Seite mit Überschrift</a>
…zeitgemäße Design von Webseiten ein wenig verrückt machen…
Mit vielen dieser Designs versuchen sich "Designer " selbst zu feiern.
Das kommt bei den Besuchern nicht immer an.
Die Moden ändern sich und kommen oft wieder. Ganz verweigern kann man sich da nicht.
Jeden kurzlebigen Sch… mach ich auch nicht mit.