voltear vertical una texto invertir imagen horizontalmente horizontal girar espejo efecto como centrar html css transform css-filters

html - texto - Voltear/reflejar una imagen horizontalmente+verticalmente con css



invertir imagen espejo css (4)

Para realizar una reflexión que puede utilizar, la propiedad CSS de transformación junto con la función CSS rotate () en este formato:

transform: rotateX() rotateY();

La función rotateX () girará un elemento a lo largo del eje x y la función rotateY () girará un elemento a lo largo del eje y. Encuentro mi enfoque intuitivo en el que se puede visualizar mentalmente la rotación. En su ejemplo, la solución que utiliza mi enfoque sería:

.img-hor { transform: rotateY(180deg); // Rotate 180 degrees along the y-axis } .img-vert { transform: rotateX(180deg); // Rotate 180 degrees along the x-axis } .img-hor-vert { transform: rotateX(180deg) rotateY(180deg); // Rotate 180 degrees on both }

El violín de JS para demostrar la solución es https://jsfiddle.net/n20196us/1/

Estoy tratando de voltear una imagen para mostrarla de 4 maneras: original (sin cambios), volteada horizontalmente, volteada verticalmente, volteada horizontalmente + verticalmente.

Para hacer esto, estoy haciendo lo siguiente, funciona bien aparte del giro horizontal y verticalmente, ¿alguna idea de por qué esto no estaría funcionando?

He hecho un problema de JS con el problema aquí: https://jsfiddle.net/7vg2tn83/

.img-hor { -moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; } .img-vert { -moz-transform: scaleY(-1); -o-transform: scaleY(-1); -webkit-transform: scaleY(-1); transform: scaleY(-1); filter: FlipV; -ms-filter: "FlipV"; } .img-hor-vert { -moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; -moz-transform: scaleY(-1); -o-transform: scaleY(-1); -webkit-transform: scaleY(-1); transform: scaleY(-1); filter: FlipV; -ms-filter: "FlipV"; }


Prueba esto:

.img-hor-vert { -moz-transform: scale(-1, -1); -o-transform: scale(-1, -1); -webkit-transform: scale(-1, -1); transform: scale(-1, -1); }

Fiddle actualizado: https://jsfiddle.net/7vg2tn83/1/

No funcionaba antes porque estabas anulando la transform en tu css. Así que en lugar de hacer ambas cosas, simplemente hizo la última. Algo así como si background-color dos veces el background-color , anularía al primero.


Puede aplicar una sola regla de transformación para cualquier selector. Utilizar

.img-hor-vert { -moz-transform: scaleX(-1) scaleY(-1); -o-transform: scaleX(-1) scaleY(-1); -webkit-transform: scaleX(-1) scaleY(-1); transform: scaleX(-1) scaleY(-1); filter: FlipH FlipV; -ms-filter: "FlipH FlipV"; }

No estoy seguro de qué IE aceptará múltiples filtros sin embargo.


Puedes hacer una transform: rotate(180deg); para el flip horizontal + vertical.