Bonjour
Dans le cadre de la modernisation de mes pages, je cherche à remplacer des animations que j'ai développées en JavaScript, basées sur des timers et le recalcul des positions des éléments, par quelque chose de plus "à la mode".
J'essaie donc de faire quelques expériences très simples en utilisant les transitions et animations CSS3.
Dans mon exemple, j'ai une div "cadre" (position:relative;overlow:hidden) dans laquelle "circule" une div "train" (position:absolute;display:table-row) qui elle même comporte des div "wagon" (display:table-cell).
voir http://www.alma-musica.net/tests/train.html
Le "train" étant plus large que le cadre, l'objectif est de le faire défiler de droite à gauche jusqu'à ce que le dernier "wagon" devienne visible (donc le train ait "right:0") et reparte dans l'autre sens jusqu'à "left:0".
Je n'arrive pas à exprimer cette transition: en effet "left" et "right" sont antinomiques.
SI je dis
Je comprends bien pourquoi, mais y a-t-il un moyen de faire fonctionner cela comme une transition CSS3 ou faut il passer, pour une chose aussi simple, par un mécanisme plus complexe?
Modifié par PapyJP (01 Mar 2015 - 12:00)
Dans le cadre de la modernisation de mes pages, je cherche à remplacer des animations que j'ai développées en JavaScript, basées sur des timers et le recalcul des positions des éléments, par quelque chose de plus "à la mode".
J'essaie donc de faire quelques expériences très simples en utilisant les transitions et animations CSS3.
Dans mon exemple, j'ai une div "cadre" (position:relative;overlow:hidden) dans laquelle "circule" une div "train" (position:absolute;display:table-row) qui elle même comporte des div "wagon" (display:table-cell).
voir http://www.alma-musica.net/tests/train.html
Le "train" étant plus large que le cadre, l'objectif est de le faire défiler de droite à gauche jusqu'à ce que le dernier "wagon" devienne visible (donc le train ait "right:0") et reparte dans l'autre sens jusqu'à "left:0".
Je n'arrive pas à exprimer cette transition: en effet "left" et "right" sont antinomiques.
SI je dis
#train { /*.......*/
transition:left:20s, right 20s;}
#train:hover {right:0;left:;}
le train passe brutalement d'un état dans l'autre, c'est à dire que la transition de fonctionne pas.Je comprends bien pourquoi, mais y a-t-il un moyen de faire fonctionner cela comme une transition CSS3 ou faut il passer, pour une chose aussi simple, par un mécanisme plus complexe?
Modifié par PapyJP (01 Mar 2015 - 12:00)