From 9df30bcd963edf8a72d2bea45ad67c936d3acb04 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Sun, 12 Apr 2026 16:07:49 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Video=20l=C3=A4uft=20durchgehend,=20kein?= =?UTF-8?q?=20Neustart=20bei=20Slide-Wechsel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Video aus dem Slide-Div herausgelöst und als eigenständiges Element zwischen hero-brand und hero-slider platziert. Dadurch wird es nie via visibility:hidden versteckt und der Browser resettet es nicht. Ein-/Ausblenden per opacity + max-height Transition. Co-Authored-By: Claude Opus 4.6 (1M context) --- vorschau/css/style.css | 10 +++++----- vorschau/index.html | 13 +++++++------ vorschau/js/app.js | 3 +++ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/vorschau/css/style.css b/vorschau/css/style.css index d7b8753..50956c6 100644 --- a/vorschau/css/style.css +++ b/vorschau/css/style.css @@ -104,11 +104,11 @@ a { color:inherit; text-decoration:none; } .hero-arrow { width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.3); background:transparent; color:var(--white); font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; } .hero-arrow:hover { border-color:var(--gold); color:var(--gold); } -/* ==================== HERO INLINE VIDEO (Slide 0) ==================== */ -.hero-slide-has-video { display:flex; flex-direction:column; } -.hero-slide-video-inline { width:100%; border-radius:var(--radius-lg); overflow:hidden; } -.hero-slide-video-inline video { display:block; width:100%; height:auto; } -.hero-slide-bottom { margin-top:16px; } +/* ==================== HERO VIDEO CONTAINER ==================== */ +.hero-video-container { width:100%; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:16px; transition:opacity 0.6s ease, max-height 0.6s ease; max-height:700px; } +.hero-video-container video { display:block; width:100%; height:auto; } +.hero-video-container.hidden { opacity:0; max-height:0; margin-bottom:0; pointer-events:none; } +.hero-slide-bottom { } /* ==================== BUTTONS ==================== */ .btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 28px; border-radius:var(--radius); font-family:inherit; font-size:0.95rem; font-weight:600; cursor:pointer; transition:all 0.2s; border:2px solid transparent; text-decoration:none; } diff --git a/vorschau/index.html b/vorschau/index.html index ab315d8..87da8e4 100644 --- a/vorschau/index.html +++ b/vorschau/index.html @@ -87,14 +87,15 @@

KI-gestützte Echtzeit-Lagebilder aus offenen Quellen, vollautomatisch.

+
+ +
+
-
-
- -
+

Live-Beispiel: Der Iran-Konflikt wird mit über 14.900 Artikeln aus 375 Quellen kontinuierlich überwacht.

diff --git a/vorschau/js/app.js b/vorschau/js/app.js index b570a46..14c5b4b 100644 --- a/vorschau/js/app.js +++ b/vorschau/js/app.js @@ -63,6 +63,9 @@ heroSlides[oldIndex].classList.remove('active'); if (heroDots[oldIndex]) heroDots[oldIndex].classList.remove('active'); + var vc = document.getElementById('hero-video-container'); + if (vc) vc.classList.toggle('hidden', index !== 0); + setTimeout(function () { heroSlides[oldIndex].classList.remove('exiting'); heroCurrentSlide = index;