La respuesta de Micheal es más precisa. ¿Puedes por favor actualizar la respuesta correcta? Porque la respuesta que has marcado como correcta no es espejo sino rotación de 180 grados.
Sanket Sahu
@PeteWilson,? ¿El ✂ char es tan común? ¿Para qué sirve?
Pacerier
44
Tenga en cuenta que la rotación es diferente dependiendo de la implementación de emoji. En el conjunto de emoji de manzanas, apunta hacia abajo.
Akkumulator
Respuestas:
411
Puede usar transformaciones CSS para lograr esto. Un giro horizontal implicaría escalar el div de esta manera:
¡Esta debería ser la respuesta correcta! (espejos a lo largo del eje vertical, escala (1, -1) para eje horizontal)
Diseño de Adrian el
Sin duda, es la respuesta que cumple con los estándares más habituales, desafortunadamente no vivimos en un mundo donde esto realmente funcione para todos los casos de uso todavía.
Chris Sobolewski
¿Podría incluir los prefijos reales del navegador en su respuesta, con el último sin prefijo? El CSS que le diste no funciona.
Serrano
@SerranoPereira de hecho, gracias por la sugerencia. Respuesta modificada
Los dos parámetros son el eje X y el eje Y, -1 será un espejo, pero puede escalar a cualquier tamaño que desee para satisfacer sus necesidades. Al revés y al revés lo sería (-1, -1).
Si está interesado en la mejor opción disponible para soporte de navegador cruzado en 2011, vea mi respuesta anterior .
Técnicamente esto no es un espejo. está girado. Por lo tanto, solo funcionará con algún tipo de elementos
borisrorsvort
44
Tuve algunos problemas en Chrome hasta que agregué display: bloque en línea a mi lapso (usando fuentes pictos)
Clarence Liu
1
Dado que cuando se hizo esta pregunta, las transformaciones del navegador no eran ampliamente compatibles, diría que esta fue la respuesta correcta. De hecho, las transformaciones no son compatibles hasta IE 9, por lo que argumentaría que TODAVÍA es la respuesta correcta, al menos durante un tiempo más.
Chris Sobolewski
Esta respuesta es incorrecta, no es un espejo. Solo funciona en este caso porque el símbolo dado en el ejemplo es verticalmente asimétrico.
gregtczap
Aunque esto es útil en sí mismo, no es la respuesta a la pregunta exacta formulada. Encontré esta pregunta a través de un motor de búsqueda porque quería voltear una imagen horizontalmente. No es simétrico como las tijeras de OP.
Usted debe siempre poner la propiedad (sin prefijo) compatible con los estándares pasado, por lo que cuando el estándar es adoptado por un navegador, se utilizará la versión basada en estándares, en lugar de la (mayores, buggier) versión prefijado. En este caso, eso significa "transformar: matriz (-1, 0, 0, 1, 0, 0);" Debería ser la última propiedad. (Editó la respuesta para reflejar esto.)
Jay Dansand
77
No sé si esto debería estar en la respuesta correcta o en la pregunta, pero quiero informar a los usuarios de fontawesome / bootstrap sobre las propiedades fa-flip-horizontalyfa-flip-vertical
lol
1
Gran respuesta real. Sin embargo pantalla: bloque; No necesariamente necesario.
Gilly
66
sí ... pantalla: bloque; o se necesita un bloqueo en línea
dGo
Esto fue realmente útil para mantener la orientación correcta del texto de la cara posterior de un elemento cuando se gira a lo largo del eje Y. Por ejemplo:backface-visibility: visible; transform-origin: center center; transform-style: preserve-3d; transform: matrix(-1, 0, 0, 1, 0, 0) rotateY(180deg) ;
Esta solución parece funcionar en todos los navegadores, incluido IE6 +, utilizando scale(-1,1)(un espejo adecuado) y propiedades apropiadas filter/ -ms-filtercuando sea necesario (IE6-8):
/* Cross-browser mirroring of content. Note that CSS pre-processors
like Less cough on the media hack.
Microsoft recommends using BasicImage as a more efficent/faster form of
mirroring, instead of FlipH or some kind of Matrix scaling/transform.
@see http://msdn.microsoft.com/en-us/library/ms532972%28v=vs.85%29.aspx
@see http://msdn.microsoft.com/en-us/library/ms532992%28v=vs.85%29.aspx
*//* IE8 only via hack: necessary because IE9+ will also interpret -ms-filter,
and mirroring something that's already mirrored results in no net change! */@media \0screen {.mirror {-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(mirror=1)";}}.mirror {/* IE6 and 7 via hack */*filter:progid:DXImageTransform.Microsoft.BasicImage(mirror=1);/* Standards browsers, including IE9+ */-moz-transform: scale(-1,1);-ms-transform: scale(-1,1);-o-transform: scale(-1,1);/* Op 11.5 only */-webkit-transform: scale(-1,1);transform: scale(-1,1);}
Lo cual, tal vez, es aún más claro y comprensible.
EDITAR: Aunque no parece funcionar en Opera ... tristemente. Pero funciona bien en Firefox. Supongo que podría ser necesario decir implícitamente que estamos haciendo algún tipo de translate3dtal vez. O algo así.
Para aquellos que se preguntan, esta es una transformación 3D. Creo que definitivamente es más legible / comprensible que los métodos de escala y matriz dados anteriormente.
gregtczap
No veo cómo una rotación es un espejo, eso solo parecería ser así en un caso especial.
Cel Sharp
@celsharp está en el eje Y, por lo que puede ver la imagen / elemento desde su parte posterior, por lo tanto, reflejado.
jeromej
1
Simplemente agregue una demostración de trabajo para la inversión de espejo horizontal y vertical.
box-reflect es una propiedad exclusiva de webkit. pero no creo que tenga un equivalente de -moz .. Revise esta publicación ..
mithunsatheesh
También separador debe ser :no;
mithunsatheesh
0
Solo un ejemplo más de cómo el personaje podría voltearse. Agregue prefijos de proveedor si los necesita, pero por ahora todos los navegadores modernos admiten la propiedad de transformación no prefijada. La única excepción es Opera si el modo Opera Mini está habilitado (~ 3% de usuarios mundiales).
Respuestas:
Puede usar transformaciones CSS para lograr esto. Un giro horizontal implicaría escalar el div de esta manera:
Y un giro vertical implicaría escalar el div de esta manera:
MANIFESTACIÓN:
fuente
Los dos parámetros son el eje X y el eje Y, -1 será un espejo, pero puede escalar a cualquier tamaño que desee para satisfacer sus necesidades. Al revés y al revés lo sería
(-1, -1)
.Si está interesado en la mejor opción disponible para soporte de navegador cruzado en 2011, vea mi respuesta anterior .
fuente
Espejo real:
fuente
fa-flip-horizontal
yfa-flip-vertical
backface-visibility: visible; transform-origin: center center; transform-style: preserve-3d; transform: matrix(-1, 0, 0, 1, 0, 0) rotateY(180deg) ;
Puedes usar cualquiera
o
Tenga en cuenta que el establecimiento
position
deabsolute
es muy importante! Si no lo configura, deberá configurarlodisplay: inline-block;
fuente
He improvisado esta solución rastreando Internet incluyendo
Esta solución parece funcionar en todos los navegadores, incluido IE6 +, utilizando
scale(-1,1)
(un espejo adecuado) y propiedades apropiadasfilter
/-ms-filter
cuando sea necesario (IE6-8):fuente
Para compatibilidad cruzada con el navegador, cree esta clase
Y agréguelo a su clase de ícono, es decir
para obtener un icono de búsqueda con el asa a la izquierda
fuente
puedes usar 'transformar' para lograr esto. http://jsfiddle.net/aRcQ8/
css:
fuente
También está el
rotateY
de un espejo real:Lo cual, tal vez, es aún más claro y comprensible.
EDITAR: Aunque no parece funcionar en Opera ... tristemente. Pero funciona bien en Firefox. Supongo que podría ser necesario decir implícitamente que estamos haciendo algún tipo de
translate3d
tal vez. O algo así.fuente
Simplemente agregue una demostración de trabajo para la inversión de espejo horizontal y vertical.
fuente
esto es lo que funcionó para mí
<span class="navigation-pipe">></span>
solo necesita mostrar: bloque en línea o bloque para rotar. Entonces, básicamente, la primera respuesta es buena. Pero -180 no funcionó.
fuente
Podrías probar box-reflect
ver compatibilidad de cuadro de propiedad CSS-reflect? para más detalles
fuente
:
no;
Solo un ejemplo más de cómo el personaje podría voltearse. Agregue prefijos de proveedor si los necesita, pero por ahora todos los navegadores modernos admiten la propiedad de transformación no prefijada. La única excepción es Opera si el modo Opera Mini está habilitado (~ 3% de usuarios mundiales).
fuente
direction: rtl;
es probablemente lo que estás buscando.fuente
Eso funciona bien con los iconos de fuente como 's7 stroke icons' y 'font-awesome' :
Y luego en el elemento objetivo:
fuente