Bonjour
J'ai un problème de compatibilité d'instructions en CSS.
En fait, j'ai une image de base (en background), qui est remplacée par d'autres. Ca fait une petite animation évolutive (un diaporama en fait !).
Tout fonctionne impeccablement sur ordinateur mais sur téléphone c'est un refus catégorique. Cela n'affiche AUCUNE image.
Le problème semble être que la fonction "background-image: url () " n'est pas comprise par le téléphone quand c'est affecté à un pourcentage d'exécution dans les keyframes.
Test de modification :
j'ai déjà tenté de remplacer le animation-timing-function linear par steps (j'ai testé de 2 à 10 ...) au cas où il n'était pas capable de gérer des transitions compliquées, mais ça ne change rien.
Test comparatif :
sur d'autres pages, j'ai déjà fait des animations en keyframes (pas en steps mais en linear et en ease-and-out) et tout fonctionne bien sur téléphone, mais ce sont des transformations, des zooms, des rotations .... et non pas en utilisant "background-image: url()".
Autres test déjà effectué :
quand je supprime les keyframes, le téléphone affiche bien le background par défaut (mon fichier anim4).
Effet étrange constaté :
selon comme je crée mes keyframes, j'ai parfois juste une image (celle par défaut avant les keyframes) qui s'affiche très rapidement puis disparaît.
C'est donc bien UNIQUEMENT de définir une (ou plusieurs) url d'image dans un keyframe qui est bloquant.
Y-a-t-il un plan B ? Du genre utiliser un webkit dans les instructions ? Ou bien comment changer mes images sans changer le background (uniquement en css, pas de javascript) ?
VOICI LE CODE CSS EN QUESTION :
#image-animee-plan {
background-image: url("../realisations/photos/TRIPLE-avant-anim4-1200x800.webp");
background-size: contain;
animation-name: ANIMATIONDUPLAN;
animation-timing-function: linear;
animation-duration: 16s;
animation-direction: normal;
animation-iteration-count: infinite;
}
@keyframes ANIMATIONDUPLAN {
0%{
background-image: url("../realisations/photos/TRIPLE-avant-anim1-1200x800.webp");}
20%{
background-image: url("../realisations/photos/TRIPLE-avant-anim2-1200x800.webp");}
40%{
background-image: url("../realisations/photos/TRIPLE-avant-anim3-1200x800.webp");}
60%{
background-image: url("../realisations/photos/TRIPLE-avant-anim4-1200x800.webp");}
100%{
background-image: url("../realisations/photos/TRIPLE-avant-anim4-1200x800.webp");}
}
ET VOICI LE CODE HTML CONCERNE :
Dans une section, j'ai parmi d'autres photos .....
<img id="image-animee-plan" src="photos/AAA-image-transparente-1200x800.webp" />
J'ai mis une image transparente pour que cela crée déjà le bon espace dans ma gestion des éléments sur l'écran.
J'ai un problème de compatibilité d'instructions en CSS.
En fait, j'ai une image de base (en background), qui est remplacée par d'autres. Ca fait une petite animation évolutive (un diaporama en fait !).
Tout fonctionne impeccablement sur ordinateur mais sur téléphone c'est un refus catégorique. Cela n'affiche AUCUNE image.
Le problème semble être que la fonction "background-image: url () " n'est pas comprise par le téléphone quand c'est affecté à un pourcentage d'exécution dans les keyframes.
Test de modification :
j'ai déjà tenté de remplacer le animation-timing-function linear par steps (j'ai testé de 2 à 10 ...) au cas où il n'était pas capable de gérer des transitions compliquées, mais ça ne change rien.
Test comparatif :
sur d'autres pages, j'ai déjà fait des animations en keyframes (pas en steps mais en linear et en ease-and-out) et tout fonctionne bien sur téléphone, mais ce sont des transformations, des zooms, des rotations .... et non pas en utilisant "background-image: url()".
Autres test déjà effectué :
quand je supprime les keyframes, le téléphone affiche bien le background par défaut (mon fichier anim4).
Effet étrange constaté :
selon comme je crée mes keyframes, j'ai parfois juste une image (celle par défaut avant les keyframes) qui s'affiche très rapidement puis disparaît.
C'est donc bien UNIQUEMENT de définir une (ou plusieurs) url d'image dans un keyframe qui est bloquant.
Y-a-t-il un plan B ? Du genre utiliser un webkit dans les instructions ? Ou bien comment changer mes images sans changer le background (uniquement en css, pas de javascript) ?
VOICI LE CODE CSS EN QUESTION :
#image-animee-plan {
background-image: url("../realisations/photos/TRIPLE-avant-anim4-1200x800.webp");
background-size: contain;
animation-name: ANIMATIONDUPLAN;
animation-timing-function: linear;
animation-duration: 16s;
animation-direction: normal;
animation-iteration-count: infinite;
}
@keyframes ANIMATIONDUPLAN {
0%{
background-image: url("../realisations/photos/TRIPLE-avant-anim1-1200x800.webp");}
20%{
background-image: url("../realisations/photos/TRIPLE-avant-anim2-1200x800.webp");}
40%{
background-image: url("../realisations/photos/TRIPLE-avant-anim3-1200x800.webp");}
60%{
background-image: url("../realisations/photos/TRIPLE-avant-anim4-1200x800.webp");}
100%{
background-image: url("../realisations/photos/TRIPLE-avant-anim4-1200x800.webp");}
}
ET VOICI LE CODE HTML CONCERNE :
Dans une section, j'ai parmi d'autres photos .....
<img id="image-animee-plan" src="photos/AAA-image-transparente-1200x800.webp" />
J'ai mis une image transparente pour que cela crée déjà le bon espace dans ma gestion des éléments sur l'écran.