Closed ghost closed 5 years ago
das wird nicht möglich sein, dazu müsstest du selber CSS schreiben.
Hallo Andreas
Danke dir für die Rückmeldung. Habe es jetzt im Template 'mod_background_image' mal so ergänzt und es funktioniert. Denke, für meine Zwecke passt das.
<style>
html {
background: url("<?php echo specialchars($this->src); ?>") no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 100%; //Korrektur gegenüber Standardtemplate, da sonst Mobile-Darstellung nicht korrekt.
}
<?php
if($this->picture['sources']):
foreach($this->picture['sources'] as $value):
?>
@media screen and <?= $value['media'] ?> {
html {
background-image: url("<?= $value['src'] ?>");
}
}
<?php
endforeach;
endif;
?>
</style>
Danke für die Rückmeldung. Ich dachte nicht dass das so einfach ist, so können wir das bestimmt gut übernehmen 🙃
Coole Sache! Aber bitte noch mal kritisch reviewen ;-). Ich bin so ein Quick-and-Dirty-Coder!
Mach ich, aber lass doch das Ticket offen damit es nicht vergessen geht 😂
Oh 😁! Sorry. Reflex!
bei Verwendung des mod_pageimage_background.html5 wird der Wert "-webkit-min-device-pixel-ratio" mit ausgegeben ("../contao-pageimage/src/Controller/PageimageController.php" zeile 132).
Auch wenn ich bei den Bildgrößen (Themes > Bildgrößen) bei den Media-Querys keine Pixeldichte angebe, wird "-webkit-min-device-pixel-ratio" IMMER ausgegeben ...(?) ähnlich wie hier:
@media screen and (max-width: 2600px) and (-webkit-min-device-pixel-ratio: 2560w), screen and (max-width: 2600px) and (min-resolution: 2560wdppx) { html { background-image: url("assets/images/../****.jpg"); } }
Diese Angabe macht in meinem Szenario die kompletten @media Anweisung unbrauchbar und haben somit keine Auswirkungen mehr. Auch wird diese explizit als non-standard bei https://developer.mozilla.org/en-US/docs/Web/CSS/@media/-webkit-device-pixel-ratio deklariert
Wieso ist diese zusätzliche Angabe enthalten?
Ich habe die Ausgabe über eine eigene Schleife gelöst (ähnlich @DanEi75) wo die "-webkit-min-device-pixel-ratio" nicht mit ausgegeben wird und es funktioniert einwandfrei.
Contao 5.3.12
https://github.com/terminal42/contao-pageimage/blob/main/contao/templates/mod_pageimage_background.html5 funktioniert bei mir nicht in dieser Version, es werden keine Bildgrößen ausgegeben. Nur mit angepassten Code aus https://github.com/terminal42/contao-pageimage/issues/40#issuecomment-503944785 (weiter oben) funktioniert es:
<style>
html {
background-image: url("<?= \Contao\StringUtil::specialchars($this->src) ?>");
background-repeat: no-repeat;
background-position: center;
background-attachment: fixed;
background-size: cover;
}
<?php foreach ($this->picture['sources'] as $mediaQuery): ?>
@media <?= $mediaQuery['media'] ?> {
html {
background-image: url("<?= \Contao\StringUtil::specialchars($mediaQuery['src']) ?>");
}
}
<?php endforeach ?>
</style>
<?php $GLOBALS['TL_HEAD'][] = ob_get_clean() ?>
Hallo
So wie es scheint, werden definitierte Bildgrössen nicht berücksichtigt, wenn die Darstellung als Background-Image gewählt wird. Bei der Einbindung als normales Bild hingegen schon. Ist das nicht möglich oder hat man es vergessen (kein Vorwurf :-)), dies dort auch zu berücksichtigen?
Thx