Webdesign in Siegen

Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Fragen zum Thema HTML und CSS können hier gestellt werden

Moderatoren: Basti, Ingo

Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon riesenpixel am 16.12.2007, 12:40

Hallo erstmal an alle :)

Ich habe ein kleines Webdesign-Problem:
Ich habe ein div mittels Horizontale horizontal und vertikal zentriert.
Das Problem ist nun folgendes: Auf meiner Website sind verschiedene Links (die auf Anker verweisen, die es nicht gibt und die mit javascript bzw. jquery weiter verarbeitet werden).
Ist nun die Bildschirmauflösung kleiner als das zu zentrierende div, scrollt der Browser automatisch nach unten (evtl, um den Link bzw. Anker möglichst gut zu zentrieren, keine Ahnung...)
Dies soll er aber nicht tun, da das div ja schon automatisch zentriert wird.
Zur Verdeutlichung hier der Link: http://evilgrin.de/workinprogress/

Wäre echt super, wenn jemand von euch weiß, warum die Browser sich so verhalten (es liegt wohl am Anker, aber return false bringt leider nichts :/ javascript ist auch nicht gerade mein Spezialgebiet) und evtl. eine Lösung hat :) :thumbsup:

Liebe Grüße,
Jonathan
riesenpixel
Mitglied
 
Beiträge: 3
Registriert: 16.12.2007, 12:27

Re: Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon Ingo am 16.12.2007, 14:09

Hi, Jonathan.
Die Horizontale ist ja eine interessante Konstruktion :wink: Die Art, wie #haupt eingebunden ist,
scheint hier den ungewünschten Effekt zu machen (#haupt ist ein child von #horizontale):
Code: Alles auswählen
#horizontale { ... position:ansolute; top50%; height:1px;  ... }
#haupt       { ... position:absolute; height:650px; top:-325px; ... }

Wenn der 'Viewport' weniger als 650px hoch ist (z.B. 500px), steht die Hälfte der Differenz
(also 75px) oben über, die andere Hälfte unten. Das sieht also nur zufällig so aus, als wollte
der Browser die Links in der Mitte "einfangen".

Soweit mein Erklärungsversuch; vllt. findet sich ja noch 'ne Lösung (die den bestehenden
Code möglichst wenig ändert?).

Sonntags-Grüße, Ingo :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 724
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon Manuel am 16.12.2007, 14:14

Hey Jonathan,

wieso machst du das eigentlich so umständlich? Das Problem, was ich an deiner Lösung sehe ist, dass Ankertags zum einen einfach nicht dazu gedacht sind, genau dieses Verhalten zu simulieren und zum anderen wird deine Seite unnavigierbar falls JS deaktiviert ist. Google dürfte die Seite ebenfalls nur schlecht indexieren können, was ja auch meist eine wichtige Rolle spielt. Wieso arbeitest du nicht mit php und includes stattdessen? Denn das imitierst du somit quasi.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9112
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Re: Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon patrik am 16.12.2007, 14:16

-
Zuletzt geändert von patrik am 07.04.2008, 17:10, insgesamt 1-mal geändert.
patrik
Mitglied
 
Beiträge: 67
Registriert: 25.03.2007, 22:28

Re: Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon riesenpixel am 17.12.2007, 00:33

Ich möchte Javascript voraussetzen. Das hat den Vorteil, dass ich mit jquery die Inhalte auch wie bei php include dynamisch in das div #mitte einfügen kann und gleichzeitig aber auch der Zustand der Seite nicht verändert wird (bei php wird die Seite zwar nicht komplett nochmal geladen, sie wird aber imho erneut komplett konstruiert) und somit die Performance etwas besser ist. Außerdem möchte ich später noch einige Features bereitstellen, die mit Javascript erzeugt werden und deshalb brauche ich es für diese Seite sowieso. Javascript vorauszusetzen ist heute zu tage auch nicht mehr so dramatisch, da erfahrungsgemäß fast niemand Javascript deaktiviert (geschweige denn weiß, was Javascript überhaupt ist) und die Javascript-"Deaktivierer" i. d. R. sofort wissen, warum die Website nicht funktioniert und einen Alternativ-Browser mit aktiviertem Javascript parat haben. Manchmal muss man einfach etwas voraussetzen... Wegen der Anker: Ich könnte alle Links durch spans ersetzen und dann komplett mit javascript auswerten. Dann würde nichts mehr springen. Das ginge mit reinem php nicht so einfach. Das Problem mit den Ankern wäre ja nach wie vor da. Hm ich mag Javascript zwar auch nicht, aber manchmal kann es praktisch sein...
riesenpixel
Mitglied
 
Beiträge: 3
Registriert: 16.12.2007, 12:27

Re: Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon Ingo am 17.12.2007, 01:41

Hm. - Das Springen liegt wohl daran, dass jeder Link wegen der namensgleichen ID zugleich sein eigenes
Verweisziel ist; der Browser versucht dann üblicherweise, das Verweisziel an die Oberkante des Viewport
zu scrollen. (Test: entfernt oder ändert man die ID, hört das Springen auf.)
Vllt. ist es ja möglich, den Links je eine ID zu geben, die nicht mit dem href-Ziel gleichlautet. Dann hört
das Springen auf, weil es auf der Seite gar kein entsprechendes Ziel gibt.
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 724
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Anker+zentriertes div+kleine Bildschirmauflösung=Problem

Beitragvon riesenpixel am 17.12.2007, 22:27

Tatsache, daran lags :)
Danke für die fachmännische Hilfe :thumbsup: (:
Wusste gar nicht, dass die Anker auch nach IDs suchen, aber man lernt ja nie aus :)

LG Jonathan
riesenpixel
Mitglied
 
Beiträge: 3
Registriert: 16.12.2007, 12:27


Zurück zu HTML/CSS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast