Zeitbasiertes Bild auf Website mit PHP und CSS
Moin Leute,
ich bastele gerade mal eine Website. Bin soweit fertig. Muss nur noch einen automatischen Wechsel des Hintergrund-Bildes einbauen.
Das Hintergrundbild ist im Joomla Template in der theme.css-Datei definiert:
Ich kann darüber also ein statisches Bild definieren. Möchte aber mit folgendem Code zeitbasiert zwischen 3 Bildern wechseln.
Einbinden könnte ich es in die php-Datei mit dem html-Code:
<img src="<?php echo $img; ?>">
Meine Frage ist nun: Wie kann ich das am besten einbinden? Den Bilderwechsel besser in die theme.css oder per php in der Template-index.php?
Das Bild im css hat als background-size: cover; d.h. es passt sich automatisch der Browsergröße an. (Was ich sehr gut finde...)
Ginge das auch in der index.php <img src="<?php echo $img; ?>"> ? So stellt es ja nur die Bilddatei dar, wie sie ist. (Zu groß oder zu klein auf der Seite, nicht sich anpassend)
Herzlichen Dank für eure Hilfe.
Peter
ich bastele gerade mal eine Website. Bin soweit fertig. Muss nur noch einen automatischen Wechsel des Hintergrund-Bildes einbauen.
Das Hintergrundbild ist im Joomla Template in der theme.css-Datei definiert:
body {
background-image: url("../../../images/hintergrund.jpg");
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
}
Ich kann darüber also ein statisches Bild definieren. Möchte aber mit folgendem Code zeitbasiert zwischen 3 Bildern wechseln.
<?php
$h = date('G');
if ($h < 7) $img = '1.jpg';
else if ($h < 20) $img = '2.jpg';
else $img = '3.jpg';
?>
Einbinden könnte ich es in die php-Datei mit dem html-Code:
<img src="<?php echo $img; ?>">
Meine Frage ist nun: Wie kann ich das am besten einbinden? Den Bilderwechsel besser in die theme.css oder per php in der Template-index.php?
Das Bild im css hat als background-size: cover; d.h. es passt sich automatisch der Browsergröße an. (Was ich sehr gut finde...)
Ginge das auch in der index.php <img src="<?php echo $img; ?>"> ? So stellt es ja nur die Bilddatei dar, wie sie ist. (Zu groß oder zu klein auf der Seite, nicht sich anpassend)
Herzlichen Dank für eure Hilfe.
Peter
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 256971
Url: https://administrator.de/contentid/256971
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
5 Kommentare
Neuester Kommentar
Moin Peter,
füge doch einfach via PHP ein zusätzliches Stylesheet hinter dem joomla CSS ein, und definiere die Hintergrundbild-Eigenschaft darin als !IMPORTANT.
Gruß jodel32
füge doch einfach via PHP ein zusätzliches Stylesheet hinter dem joomla CSS ein, und definiere die Hintergrundbild-Eigenschaft darin als !IMPORTANT.
echo "<style type=\"text/css\">Body {Background-Image:url('path/bg.jpg') !Important}</style>";
Hallo Peter,
zum Bsp so;
CSS:
PHP:
Dann fügst Du per PHP an das Element, welches die Hintergrund Grafik bekommen soll, einfach noch die CSS-Klasse ein, z. B.
Dein CSS muss er nach den Joomla-Stylesheets laden, dann überschreibt er damit die entsprechende Joomla-Eigenschaft (in diesem Fall "bachground-image". Die !important-Regel ist normalerweise nicht erforderlich. Es schadet aber auch nichts, sie zu setzen:
vg
Bytecounter
zum Bsp so;
CSS:
.nacht {
background-image: url("../../../images/hintergrund.jpg");
}
.vormittagt {
background-image: url("../../../images/anderesBild.jpg");
}
.nachmittag {
background-image: url("../../../images/nochEinAnderesBild.jpg");
}
<?php
$h = date('G');
if ($h < 7) {
$css = ''nacht';
} else if ($h < 20) {
$css = 'vormittag';
else
$css = 'nachmittag';
}
?>
Dann fügst Du per PHP an das Element, welches die Hintergrund Grafik bekommen soll, einfach noch die CSS-Klasse ein, z. B.
<div class="joomlaKlassen <?php echo $cass; ?>">...</div>
Dein CSS muss er nach den Joomla-Stylesheets laden, dann überschreibt er damit die entsprechende Joomla-Eigenschaft (in diesem Fall "bachground-image". Die !important-Regel ist normalerweise nicht erforderlich. Es schadet aber auch nichts, sie zu setzen:
background-image: url("../../../images/hintergrund.jpg") !important;
vg
Bytecounter
Hallo Peter,
das war alles nur Beispielcode den Du entsprechend anpassen musst. Wo was hin muss, kann ich Dir nicht sagen, ich arbeite nicht mit Joomla.
Die CSS Klasse muss dem Element zugefügt werden, welches den Hintergrund ändern soll. Eventuell ist es kein DIV sondern direkt das BODY-Element. Aber hier kenne ich weder Joomla noch Deinen Code.
vg
Bytecounter
das war alles nur Beispielcode den Du entsprechend anpassen musst. Wo was hin muss, kann ich Dir nicht sagen, ich arbeite nicht mit Joomla.
Die CSS Klasse muss dem Element zugefügt werden, welches den Hintergrund ändern soll. Eventuell ist es kein DIV sondern direkt das BODY-Element. Aber hier kenne ich weder Joomla noch Deinen Code.
vg
Bytecounter