From a17dd00048812ffdd3975aea0e9a97a26e686951 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 18 May 2026 15:54:08 +0200 Subject: [PATCH] =?UTF-8?q?Normalisiere=20die=20Anzeigegr=C3=B6=C3=9Fe=20u?= =?UTF-8?q?nd=20passe=20die=20Position=20von=20eingef=C3=BCgten=20Elemente?= =?UTF-8?q?n=20im=20Header-Anzeigenplatzhalter=20an?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/HeaderAdBanner.vue | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/client/src/components/HeaderAdBanner.vue b/client/src/components/HeaderAdBanner.vue index a777d28..ea459a8 100644 --- a/client/src/components/HeaderAdBanner.vue +++ b/client/src/components/HeaderAdBanner.vue @@ -201,8 +201,30 @@ async function renderPropeller() { } const moved = placeholder.firstElementChild; if (moved) { + // Normalize size moved.style.maxWidth = '100%'; moved.style.display = 'block'; + // If provider inserted a fixed/absolute positioned element (overlays), + // force it to behave as inline block inside our header placeholder. + try { + const cs = getComputedStyle(moved); + if (cs.position === 'fixed' || cs.position === 'absolute') { + moved.style.setProperty('position', 'relative', 'important'); + moved.style.setProperty('top', 'auto', 'important'); + moved.style.setProperty('right', 'auto', 'important'); + moved.style.setProperty('left', 'auto', 'important'); + moved.style.setProperty('bottom', 'auto', 'important'); + moved.style.setProperty('z-index', '1', 'important'); + moved.style.setProperty('width', '100%', 'important'); + moved.style.setProperty('max-width', '970px', 'important'); + } + if (moved.tagName === 'IFRAME') { + moved.style.width = '100%'; + moved.style.height = moved.style.height || '60px'; + } + } catch (e) { + console.warn('style normalize failed', e); + } } observer.disconnect(); try { window.dispatchEvent(new CustomEvent('ads:relocated',{detail:{provider:'propeller',zone:propSlotId}})); } catch {}