Hi!
Gibt es eigentlich irgendwie eine gescheite Möglichkeit, so ein softes Scrollen zum Anker-Ziel ohne Javasript zu realisieren?
AFAIK Nein, da das quasi eine interne Sache des Browsers ist, auf die man per CSS keinen Einfluss nehmen kann.
Und falls nein, ist sowas denn mit einem wirklich kleinen JS machbar, ohne dazu eine dieser "dicken" JQueries usw. zu verwenden?
Ja, ist es!
Die Ausgangsbasis ist quasi event.preventDefault();
Aber ...,
gerade bei Responsive Designs kommt man heutzutage kaum/ schwer ohne JS aus. Und glücklicherweise haben es auch die allermeisten User aktiviert.
Und jQuery erleichtert imho viele Dinge, auch wenn sich diese genausogut direkt per Javascript umsetzen ließen.
Dein aktueller Fall ist doch ein klassisches Beispiel.
Ohne JS => Sprung zum Anker (ohne Animation)
Mit JS => Sprung zum Anker (mit Animation)
Eben ein typischer Fall von "progressive enhancement"
Persönlich bevorzuge ich die Variante mit dem von links "einfahrenden" Menü (über die eigentliche Seite).
Das kann man rein per CSS sehr leicht mit der ':target' Pseudo-Klasse realisieren, und mit JS entsprechend "komfortabler aufmotzen". ;-)
Noch ein Wort zur Javascript-Unterstützung:
Wer das ausschaltet,
- hat entweder keine Ahnung => dagegen bist du eh machtlos
- weiß was er tut (und warum) => weiß dann auch, dass er mit gewissen "Einschränkungen" leben muss
Wichtig ist halt bloß immer, dass auch ohne JS alle Inhalte erreichbar/ zugänglich sind.
Man sollte aber deswegen auf keinen Fall auf den Einsatz von Javascript verzichten, um die Benutzerfreundlichkeit/ Bedienung für die breite Masse erheblich zu steigern/ verbessern/ erleichtern - meine Meinung! ;-)
Gruß Gunther