Banner-Hintergründe CSP-fest: <img> statt Inline-Variable
Beim ersten Deploy blieben die Slides des Banner-Sliders schwarz. Ursache war kein fehlendes Bild, sondern die CSP: public/.htaccess setzt default-src 'self' ohne style-src, der Browser verwirft damit jedes style-Attribut — und die Komponente lieferte Bild und Akzentfarbe genau so (style="--banner-bg: url(…); --banner-accent: #6cbbbc"). Lokal war das unsichtbar, weil php -S keine .htaccess liest. Der Hintergrund ist jetzt ein <img class="ad-banner__bg"> über die bestehende img-Komponente (CSP erlaubt img-src) und bringt srcset mit: das Handy lädt die 640er statt der 1600er, die erste Slide lädt eager mit fetchpriority. Der dunkle Leseverlauf liegt auf ::before statt im background-image. Die Akzentfarbe kann als beliebiger Hex-Wert nicht ohne Inline-Style in die Seite. Sie steht deshalb als Token in tokens.css (wo Farben laut CLAUDE.md hingehören), components.css bildet den Namen darauf ab, und banners.json nennt nur noch "accent": "breadcrumb". bin/preflight.php bricht ab, wenn unter app/ wieder ein style-Attribut auftaucht — der Fehler wäre sonst erneut erst in Produktion sichtbar. Beim Bauen dieser Wache zweimal selbst hineingetappt: ein Muster mit [^>]* bricht an jedem schließenden PHP-Tag ab, und die Zeichenfolge dieses Tags beendet den PHP-Modus auch in einem //-Kommentar (preflight gab ab dort seinen eigenen Quelltext aus, php -l meldete nichts). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7
This commit is contained in:
@@ -9,8 +9,19 @@
|
||||
"title": "Hier könnte Ihre Werbung stehen",
|
||||
"text": "Werden Sie Werbepartner des TSV 08 Kulmbach und zeigen Sie Ihr Unternehmen genau hier: sichtbar für tausende sportbegeisterte Menschen aus Kulmbach und dem Katzbachtal.",
|
||||
"logo": "img/logo.svg",
|
||||
"background": "img/pages/fussball-hero-1600.jpg",
|
||||
"cta": { "label": "Werbepartner werden", "url": "/partner-werden", "internal": true }
|
||||
"background": {
|
||||
"base": "img/pages/fussball-hero",
|
||||
"widths": [
|
||||
640,
|
||||
1000,
|
||||
1600
|
||||
]
|
||||
},
|
||||
"cta": {
|
||||
"label": "Werbepartner werden",
|
||||
"url": "/partner-werden",
|
||||
"internal": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"company": "Breadcrumb Solutions GmbH",
|
||||
@@ -18,9 +29,19 @@
|
||||
"text": "Beratung, Software & Implementierung aus einer Hand. Wir entwickeln Intranets, Kundenportale, Apps und Individualsoftware, inklusive Einführung, sodass sie im Alltag tatsächlich ankommt.",
|
||||
"logo": "img/banners/breadcrumb-solutions.svg",
|
||||
"logo_light": true,
|
||||
"accent": "#6cbbbc",
|
||||
"background": "img/banners/breadcrumb-hero-1600.jpg",
|
||||
"cta": { "label": "Neue Website entdecken", "url": "https://www.breadcrumb-solutions.de/" }
|
||||
"accent": "breadcrumb",
|
||||
"background": {
|
||||
"base": "img/banners/breadcrumb-hero",
|
||||
"widths": [
|
||||
640,
|
||||
1000,
|
||||
1600
|
||||
]
|
||||
},
|
||||
"cta": {
|
||||
"label": "Neue Website entdecken",
|
||||
"url": "https://www.breadcrumb-solutions.de/"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user