Ok, voici un autre problème avec IE10. Le problème est que l'application de la perspective sur les éléments parents brise le paramètre de visibilité arrière cachée. Veuillez voir cette astuce : http://jsfiddle.net/2y4eA
Lorsque vous survolez le carré rouge, il tourne de 180° sur l'axe des x, et même si la visibilité de la face arrière est réglée sur cachée, la face arrière est affichée, du moins jusqu'à ce que le 180° soit atteint, puis elle disparaît. Enlevez la propriété de perspective, et vous verrez que cela fonctionne comme prévu, la face arrière n'est pas visible du tout, mais bien sûr l'effet 3D est perdu.
Il est possible de contourner ce problème en appliquant une perspective dans la propriété transform : http://jsfiddle.net/M2pyb Mais cela pose des problèmes en conjonction avec transform-origin-z, lorsque z est défini à une valeur autre que 0, l'ensemble est "mis à l'échelle" : http://jsfiddle.net/s4ndv donc malheureusement ce n'est pas une solution.
Le truc de la visibilité arrière est probablement un bug ? Si oui, y a-t-il une solution autre que celle que j'ai mentionnée ?
1 votes
Avez-vous essayé l'un des vieux remèdes qui réparent souvent Internet Explorer ? Je n'ai pas joué avec la v10, mais normalement, changer le mode d'affichage, s'assurer qu'il y a unLayout, utiliser la fonction
overflow:hidden
,zoom:1
,z-index:1
ajouter des enfants, - en fait, tout ce à quoi vous pouvez penser qui peut modifier la fonction de rendu utilisée... Et si vous appliquiezbackface-visibility
au parent également ? Il semble qu'IE pourrait le traiter comme une entité 3D entièrement distincte.0 votes
Je pensais que le concept de mise en page avait disparu dans IE10 au plus tard ? Je n'avais pas essayé jusqu'à présent, malheureusement cela ne sert à rien, le comportement ne change pas. Appliquer la visibilité en arrière-plan aux deux éléments ne fait rien non plus.
0 votes
Hmm... ouais je ne serais pas surpris s'ils s'étaient débarrassés de Layout mais comme je l'ai dit ce ne sont que des suppositions car je n'ai pas encore eu la chance de m'asseoir avec IE10. C'est ennuyeux alors :/ le bon vieil Internet Explorer comme d'habitude... il est toujours en développement cependant, donc vous pouvez trouver qu'il est corrigé.
0 votes
Oui, nous verrons bien... J'utilise la version RTM AFAICT, donc je suppose que si quelque chose sera corrigé, alors avec une mise à jour, mais puisque IE semble maintenant avoir un canal de mise à jour séparé, les corrections éventuelles pourraient arriver un peu plus rapidement.
2 votes
Vous pouvez le faire fonctionner dans IE10 en appliquant la visibilité arrière à l'objet enfant au lieu du parent (le même élément auquel la transformation est appliquée). Jetez un coup d'œil au lien suivant, il contient deux JSfiddles, un similaire à ce que vous décrivez et un modifié qui corrige le problème : stackoverflow.com/questions/11400317/
0 votes
Merci d'essayer d'aider, mais ce n'est pas le problème,
backface-visibility
est déjà appliquée à l'enfant. Je connais déjà la question liée, l'exemple est incorrect, il ne spécifie pas une unité pour l'élémentperspective
il est donc ignoré, faites-en une valeur de1000px
et vous verrez que le même problème s'y produit.0 votes
Je crois que des versions antérieures de Firefox avaient le même problème, à savoir qu'elles ne cachaient pas l'arrière d'une animation avant la fin. Je me souviens également que des versions antérieures de Chrome avaient également ce problème dans certains cas, et je pense que cela est probablement dû au fait que la visibilité de la face arrière est sur le conteneur. En fait, parce que Chrome et Firefox avaient ce problème, j'ai appliqué la directive
opacity
dans mon animation pour cacher l'élément de sorte que lorsque l'arrière allait apparaître, l'avant était caché.0 votes
Avez-vous vérifié cet exemple ? - jsfiddle.net/reybango/ax2Mc
0 votes
Oui, je l'ai fait, voir les 3 commentaires ci-dessus.
0 votes
C'est un peu rudimentaire, mais ça marche : jsfiddle.net/4fBuF
0 votes
Idée intéressante, bien qu'elle ne fonctionne qu'avec des fonds solides...
0 votes
J'ai posté une nouvelle réponse à votre question :) J'espère que cela vous aidera ;)