terminal42 / contao-pageimage

MIT License
12 stars 13 forks source link

-webkit-min-device-pixel-ratio wird immer ausgegeben #50

Closed aschempp closed 2 years ago

aschempp commented 3 years ago

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.

Originally posted by @albirs in https://github.com/terminal42/contao-pageimage/issues/40#issuecomment-885073312

aschempp commented 3 years ago

Inwiefern ist die Anweisung ein Problem? Welche Konfiguration hast du in deinen Bildgrössen?

albirs commented 3 years ago

Danke für die Rückmeldung! Bei meinen Einstellungen bei den Bildgrößen ist das Feld "Pixeldichte/Skalierungsfaktor" immer leer: wird aber zB mit (-webkit-min-device-pixel-ratio: 2560w) ausgegeben.

wenn ich zB in den Bildgrößen Grundseinstellungen "Pixeldichte/Skalierungsfaktor": 1x, 2x, 3x, 4x, 5x und "Sizes-Attribut": (max-width: 2600px) wird zb auch ein doppeltes "and" ausgegeben: @media screen and and (-webkit-min-device-pixel-ratio: 2560w), screen and and (min-resolution: 2560wdppx) { html { background-image: url("assets/images/8/***.jpg"); } } @media screen and and (-webkit-min-device-pixel-ratio: 5120w), screen and and (min-resolution: 5120wdppx) { html { background-image: url("assets/images/6/***.jpg"); } } Ich denke die 2560w sind hier falsch (?).

... wenn ich nur "Pixeldichte/Skalierungsfaktor": 1x, 2x, 3x, 4x, 5x angebe und "Sizes-Attribut": leer lasse, wird @media screen and and (-webkit-min-device-pixel-ratio: 2), screen and and (min-resolution: 2dppx) { html { background-image: url("assets/images/6/****.jpg"); } ausgegeben. Hier ist der Wert wohl korrekt aber es wird auch doppelt "and" ausgegeben.

ABER ... unabhängig davon scheint die Angabe "-webkit-min-device-pixel-ratio" zu bewirken das die komplette @media Anweisung nicht mehr funktioniert: Im Firefox sowie Chome wird bei Fenstergrößen-Änderung als auch bei den simulierten Display-Größen im Instpektor wird immer nur ein Bild geladen (das der größten Einstellung).

Wenn ich "-webkit-min-device-pixel-ratio" über eine individuelle Schleife NICHT ausgeben lasse funktioniert es wie gewünscht.

EDIT: Contao 4.9.16 , contao-pageimage 4.1.2 EDIT 2: ... müsste dann nicht auch eine ähnliche Anweisung für "-moz ..." ausgegeben werden?