[CSS/PHP] Vordefinierte Styles?

Peter

Lt. Commander
Registriert
Mai 2001
Beiträge
1.957
Hallo zusammen,

ich möchte folgendes machen:
ich habe ein style-sheet mit bspw. folgender Klasse:
Code:
.xyz { background: linear-gradient(rgba(236,240,241,1.0) 10%, rgba(236,240,241,0.2) 100%), url('image.jpg'); }

in meiner php/html-Datei binde ich die Klasse wie folgt ein:
Code:
<element class="xyz">

Das funktioniert!

ich würde aber gerne in einer Auflistung jeweils ein anderes Hintergrundbild verwenden.
Da die Klasse xyz insgesamt wesentlich umfangreicher ist wie in diesem Beispiel, ist es keine Option die gesamte Klasse immer wieder in den style-tag des html-elements zu schreiben.

Vielmehr stelle ich mir vor, dass ich eine Kombination wie folgt erstellen kann:
Code:
<element style="background: xyz;<?php print($image);?>">

Ich möchte also einen Hintergrund aus vordefinierten und einem dynamisch erzeugten Element bilden.

Gruss,
Peter
 
Zuletzt bearbeitet:
Korrekt, danke, habs korrigiert.

Ich kann natürlich zusätzlich zum class- noch den style-tag unterbringen.

Was ich aber nicht weiss ist, wie ich den dynamischen Style mit dem vordefninierten verheirate.
Wen ich also in der css-Datei das Attribut "background" mit bspw. einem Verlauf belegt habe, überschreibe ich das mit dem dynamisschen style-Attribut "background" und einem Hintergrundbild wieder.

Daher meine Frage wie ich das kombinieren kann.

Ich hätte aber gerne den Verlauf aus der css-Datei und das Hintergrundbild aus der html-Datei.
 
Verschiedene CSS Eigenschaften kann man nicht einfach mischen. Letztendlich muss eine eindeutige "background" Eigenschaft gelten. Wenn man sehr viele bekannte Bilder hat, kann man das CSS halt automatisch generieren. Die eine background-Eigenschft ist ja nicht sooo schlimm. Man kann die restlichen Eigenschaften einfach in eine Klasse herausziehen.
Wenn sich die Bilder ändern, wirkt es mehr wie Content. Dann sollte man <img> nehmen.

Vielleicht kann man mit CSS Custom Properties ("Variablen") irgendwas tricksen. Würde halt nur in modernen Browser gehen.
Code:
background-color-image: url("IMAGE_URL"), var(--bg-gradient);
 
Zurück
Oben