La visibilidad de la cara posterior de Webkit no funciona

Estoy construyendo un ejemplo simple para voltear una tarjeta usando la -webkit-transform: rotateY .

Funcionó bien hace un par de días, pero de repente dejó de funcionar. El efecto aún funciona, pero cuando sobrevivo la carta, el anverso desaparecerá para hacer visible el reverso. para esto estoy usando -webkit-backface-visibility: hidden propiedad -webkit-backface-visibility: hidden . Pero parece que ya no funciona en Chrome (tanto en el establo como en la versión de construcción nocturna)

Aquí está el código en caso de que esté haciendo algo terriblemente malo

     Card Flip Using CSS  body { background-color: #3d994a; } h1 { font-size: 30pt; width: 100%; margin: 0; padding: 0; text-align: center; display: block; text-shadow: 1px -1px 0px #4E4E4E; } #container { -webkit-perspective: 1000; } .card { position: relative; width: 286px; height: 392px; -webkit-transform-style: preserve-3d; -webkit-transition: all 0.5s linear; } #container:hover .card{ -webkit-transform: rotateY(180deg); } .face { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; border-radius: 20px; border:1px solid #eee; background-color: #FFF; box-shadow: #000 3px 2px 4px; } .back { -webkit-transform:rotateY(180deg); }    

Hover over the card to flip it

Llegué a esta conclusión porque hice un par de ejemplos simples usando solo un div rotado con un texto simple, la propiedad oculta de la cara posterior y aún era visible. Además, este ejemplo usa esta propiedad y también dejó de funcionar. Entonces, para resumir, mi pregunta es, ¿alguien más tiene problemas con esta propiedad o hay un problema con mi código?

Tuve un problema similar con los niños con dicho elemento cuando un niño tenía una webkit-transform . Noté que también tuve que establecer la visibilidad de la cara posterior en ese elemento:

  
Text

Entonces la solución es usar también:

 #div2 { -webkit-transform: translate3d(0,0,0); -webkit-backface-visibility: hidden; /* again */ } 

Simplemente ponga esto -webkit-transform:rotateY(0deg); , primero debe indicarle al navegador cuál es la cara frontal.

Si ha probado todas las demás opciones aquí y no funcionó nada mientras este ejemplo funciona en su navegador, asegúrese de que el elemento correspondiente a #card en el siguiente ejemplo tenga overflow:visible :

 

Curiosamente, si configura la opacidad a algo que no sea 1 (digamos, .99), de repente la visibilidad de la cara posterior entrará en vigor.

He encontrado este problema en múltiples versiones de Chrome en Windows XP, incluido Chrome 24.

Esto lo solucionó:

  1. Abra el editor de indicadores de Chrome a través de esta URL:

      chrome://flags/ 
  2. Habilite la siguiente configuración:

    Anular lista de reproducción de software Anula la lista de reproducción de software incorporada y habilita la aceleración de GPU en configuraciones de sistema no compatibles.

  3. También asegúrese de que las animaciones CSS aceleradas estén habilitadas.

El hecho de que esto resolvió el problema sugiere que Chrome considera que mi sistema es un “sistema no compatible”. Como tal, su millaje puede variar dependiendo de la impresión de Chrome de su sistema.

Leí en alguna parte que se trata de algo relacionado con la potencia de la GPU de la computadora host. Esto funciona para mí en todos los dispositivos que tienen una GPU decente. La prueba de esto es el hecho de que no funciona para mí en un Dell Mini, incluso después de una instalación de SO fresca (win8) y en una máquina XP vieja. El problema es que la visibilidad de back-face está ahí, pero no se llama, lo que significa que no puedo usar javascript para detectar esto.

Busque http://amproductions.org

Parece que no es muy estable en Mac, dejé Chrome por un par de horas con la página con la animación funcionando y cuando volví atrás, la visibilidad simplemente deja de funcionar. El reinicio de Chrome ayudó a resolver el problema.