J'ai deux éléments div absolument positionnés qui se chevauchent. Les deux ont défini des valeurs d'index z via css. J'utilise la translate3d
transformation Webkit pour animer ces éléments hors de l'écran, puis les remettre à l'écran. Après la transformation, les éléments ne respectent plus leurs z-index
valeurs définies .
Quelqu'un peut-il expliquer ce qui arrive au z-index / stack-order des éléments div une fois que j'effectue une transformation webkit sur eux? Et expliquez ce que je peux faire pour conserver l'ordre de pile des éléments div?
Voici quelques informations supplémentaires sur la façon dont je fais la transformation.
Avant la transformation, chaque élément obtient ces deux valeurs de transition webkit définies via css (j'utilise jQuery pour faire les .css()
appels de fonction:
element.css({ '-webkit-transition-duration': duration + 's' });
element.css({ '-webkit-transition-property': '-webkit-transform' });
L'élément est ensuite animé à l'aide de translate3d -webkit-transform:
element.css({ '-webkit-transform': 'translate3d(' + hwDelta + 'px, 0, -1px)' });
Btw, j'ai essayé de définir le 3ème paramètre de translate3d
sur plusieurs valeurs différentes pour essayer de reproduire l'ordre de la pile dans l'espace 3D, mais sans succès.
En outre, les navigateurs iPhone / iPad et Android sont mon navigateur cible sur lequel ce code doit fonctionner. Les deux prennent en charge les transitions Webkit.