smartin3.de Mobile: 3D-Maus-Animationsbereich auf Bild begrenzen (Scroll blockiert) #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Auf smartin3.de wird die 3D-Animation an die Mausposition gebunden — auf Desktop OK. Auf Mobile fängt der Animationsbereich offenbar Touch-Events über den ganzen Hero/Viewport ab, sodass nach-unten-Scrollen schwer/unmöglich wird.
Lösung
Den Animations-/Touch-Trigger-Bereich auf das Bild selbst begrenzen, nicht auf die ganze Hero-Section oder den ganzen Viewport. Auf Mobile sollte vertical scroll außerhalb des Bildes uneingeschränkt funktionieren.
Konkrete Optionen für den Worker:
body/heroauf das Bild-Element selbst verschieben.touch-action: pan-yauf den umgebenden Container setzen, damit vertical-scroll nicht abgefangen wird; nur das Bild selbst nimmt aktive Touch-Events.@media (max-width: 768px)o.ä.) die Animation-Trigger-Zone explizit aufpointer-events: noneaußerhalb des Bildes setzen.Welche Variante hängt vom aktuellen Code ab — Worker schaut sich
sites/smartin3.de/index.htmlan und wählt den minimalsten Fix.QA
./build.sh.Nicht im Scope
Priorität
p2 — UX-Bug, blockiert mobile-Nutzer.
Fix umgesetzt
Hintergrund: das "Bild" auf smartin3.de ist tatsächlich kein
<img>, sondern der animierte 3D-Text-Effekt im.text3d-wrapper(das rotierende „smart"). Dertouchmove-Listener war an die gesamte.hero-Section gebunden und riefe.preventDefault()auf — dadurch hat jeder Touch im Hero-Bereich (inkl. Headline, Tagline, Buttons) das Scrollen blockiert.Änderungen (
sites/smartin3.de/index.html).heroauf.text3d-wrapperverschoben — nur Touches direkt auf dem animierten Text triggern die Animation.preventDefault()entfernt und Listener auf{passive: true}umgestellt.touch-action: pan-yauf.text3d-wrappergesetzt — vertical scroll bleibt erhalten, auch wenn der Finger über den animierten Text wandert.mousemove/mouseleaveauf.herounverändert.Damit ist gewährleistet:
pan-y), Animation läuft als Bonus mit.QA
./build.sh→ 59 Sites OK, smartin3.de neu erzeugt.touch-action: pan-yundwrapper.addEventListener('touchmove', …, {passive: true})im finalen HTML vorhanden.Commit:
66d0203f55Update — Mobile-Gating + Merge to main
Auf Wunsch jetzt explizit auf
max-width: 768pxbegrenzt:touch-action: pan-yam Wrapper hängt jetzt in@media (max-width: 768px).window.matchMedia('(max-width: 768px)').matchesentscheidet beim Init — unter 768px Listener auf.text3d-wrapper(passive), darüber das ursprünglichehero.touchmovemitpreventDefault()(relevant für Touch-Hardware im Desktop-Layout).Desktop-Verhalten ist damit bit-für-bit identisch zum Stand vor dem Fix.
Commits:
66d0203f55095ed0fd58Auf
main→ Dokploy deployed automatisch.