Dynamische Hintergrundbilder ohne Inline Styles verwenden
ohne csp unsafe-inline
Freitag, 21. August 2020
Möchte man z.b. in einem Header (wie auf dieser Website) je nach Inhalt unterschiedliche Hintergrundbilder verwenden nutzt man normalerweise style='background-image:irgendwas'. Will man aber gleichzeitig eine Content Security Policy verwenden muss man dafür style: 'unsafe-inline' verwenden, was nicht empfohlen ist.
Eine Lösung ist dafür ist den Pfad auf das Bild in eine data Attribute zu schreiben und dann über javascript einer css Variable zu zuweisen.
HTML
<section id="dynamic-bg" data-imgurl
="url(@variable)">...</section>
CSS
:root { --bg: ""}
...
section#dynamic-bg
{
background-image: var(--bg);
}
Javascript
document.documentElement.style.setProperty("--bg", document.getElementById("dynamic-bg").getAttribute("data-imgurl"));
Einfacher wäre natürlich wenn man direkt background-image: attr(data-imgurl); schreiben können. Im Augenblick ist das die attr() funktion aber nur für content gültig (Stand 2020/08)
Blog / Lothar Steidle
Letzte Einträge
Montag, 9. Januar 2023
Cool uses for css Variables
Freitag, 21. August 2020
Dynamische Hintergrundbilder ohne Inline Styles verwenden
ohne csp unsafe-inline
Dienstag, 1. Oktober 2019
Content-Security-Policy
Sichere Websites
Montag, 2. April 2018
Piwik/Matomo Opt Out Iframe funktioniert nicht
In einer Multidomain Installation
Freitag, 23. März 2018
Website mit Bootstrap druckt keine Hintergrundfarben
Alle anzeigen (10)
Beliebteste Einträge
Donnerstag, 4. Februar 2016
Intellisense not working for Razor Views
Montag, 7. Juli 2014
Send a Posted Form through Modelbinder as Email
In C# MVC
Mittwoch, 30. März 2016
Essential Visual Studio 2015 Extensions
for Webdevelopers
Montag, 6. Oktober 2014
How to use a font-awesome icon for submenu
...and animate it
Montag, 2. April 2018
Piwik/Matomo Opt Out Iframe funktioniert nicht
In einer Multidomain Installation
Alle anzeigen (10)