2016-11-16 1 views
1

J'animer un menu hamburger changeant la margin et width de deux divs (avec transition), et dans l'intervalle, une icône de hamburger il est animé de commutation de la classe is-active.Flicker lors de l'animation d'un menu hamburger sur WebKit

Le résultat, comme vous pouvez le voir, est un effet de scintillement dans le contenu du menu burger (le espace vert): http://www.codeply.com/go/g7Zp98paz5

exécution sur le bouton burger: vous pouvez voir que, pour quelques millisecondes, le vert disparaît. Exécution du bouton à bascule: vous pouvez voir qu'il n'y a pas de sauts.

Je ne fais que le reproduire dans Google Chrome.

Que se passe-t-il? Comment puis-je réparer ce comportement étrange?

J'utilise cette lib: https://github.com/callmenick/Animating-Hamburger-Icons

+1

Utilisez le premier bouton (le film d'animation un), avec bouton à bascule devrait fonctionner, mais avec le premier nous avons un scintillement dans la zone verte. J'utilise aussi Chrome 54 –

+0

Ça m'arrive aussi. Version 54.0.2840.99 pour Windows. –

Répondre

0

Il semble être quelque chose à voir avec les rotations; commentant-les rend le travail de transition correctement:

/* active state, i.e. menu open */ 
.c-hamburger--htx.is-active span { 
    background: none; 
} 

.c-hamburger--htx.is-active span::before { 
    top: 0; 
    /*transform: rotate(45deg);*/ 
} 

.c-hamburger--htx.is-active span::after { 
    bottom: 0; 
/* transform: rotate(-45deg);*/ 
} 
+0

oui, la chose est ce qu'il faut faire avec eux :) –

+0

Je suis curieux de savoir ce que ces rotations seraient censées faire: elles ne semblent pas faire partie de la transition, puisque cela fonctionne sans elles; ils ne font rien non plus sur FF (ils se ressemblent avec ou sans), et sur Chrome, ils causent le problème. –

+0

Oui, il est vraiment étrange @Haroldo_OK et très frustrant –