La réponse de Micheal est plus exacte. Pouvez-vous mettre à jour la bonne réponse? Parce que la réponse que vous avez marquée comme correcte n'est pas un miroir mais une rotation de 180 degrés.
Sanket Sahu
@PeteWilson,? Le ✂ char est-il si commun? À quoi ça sert?
Pacerier
4
Sachez que la rotation est différente selon l'implémentation des emoji. Sur les emoji de pommes, il pointe vers le bas.
Akkumulator
Réponses:
411
Vous pouvez utiliser des transformations CSS pour y parvenir. Un retournement horizontal impliquerait de mettre à l'échelle le div comme ceci:
Ce devrait être la bonne réponse! (miroirs le long de l'axe vertical, échelle (1, -1) pour l'axe horizontal)
Conception par Adrian
C'est certainement la réponse la plus conforme aux normes, malheureusement nous ne vivons pas dans un monde où cela fonctionne réellement pour tous les cas d'utilisation.
Chris Sobolewski
Pourriez-vous inclure les préfixes de navigateur réels dans votre réponse, le dernier non préfixé? Le CSS tel que vous l'avez donné ne fonctionne pas.
Serrano
@SerranoPereira en effet, merci pour la suggestion. Réponse modifiée.
Les deux paramètres sont l'axe X et l'axe Y, -1 sera un miroir, mais vous pouvez adapter l'échelle à n'importe quelle taille selon vos besoins. À l'envers et en arrière serait (-1, -1).
Si vous êtes intéressé par la meilleure option disponible pour la prise en charge multi-navigateurs en 2011, consultez mon ancienne réponse .
Techniquement, ce n'est pas un miroir. son tourné. Cela ne fonctionnera donc qu'avec certains types d'éléments
borisrorsvort
4
J'ai eu quelques problèmes dans Chrome jusqu'à ce que j'ajoute display: inline-block à mon span (en utilisant des polices pictos)
Clarence Liu
1
Étant donné que lorsque cette question a été posée, les transformations de navigateur n'étaient pas largement prises en charge, je dirais que c'était la bonne réponse. En fait, les transformations ne sont pas prises en charge avant IE 9, donc je dirais que c'est TOUJOURS la bonne réponse, pendant au moins un peu plus longtemps.
Chris Sobolewski
Cette réponse est fausse, ce n'est pas un miroir. Cela ne fonctionne que dans ce cas, car le symbole donné dans l'exemple est verticalement asymétrique.
gregtczap
Bien que cela soit utile en soi, ce n'est pas la réponse à la question exacte posée. J'ai trouvé cette question via un moteur de recherche parce que je voulais retourner une image horizontalement. Ce n'est pas symétrique comme les ciseaux OP.
Vous devez toujours placer la propriété conforme aux normes (non préfixée) en dernier, de sorte que lorsque la norme est adoptée par un navigateur, il utilise la version basée sur les normes au lieu de la version préfixée (plus ancienne, plus boguée). Dans ce cas, cela signifie "transformer: matrice (-1, 0, 0, 1, 0, 0);" devrait être la dernière propriété. (Modifié la réponse pour refléter cela.)
Jay Dansand
7
Je ne sais pas si cela devrait être sur la bonne réponse ou la question, mais je veux que les utilisateurs de fontawesome / bootstrap soient informés des propriétés fa-flip-horizontaletfa-flip-vertical
lol
1
Grande vraie réponse. Cependant afficher: bloc; pas nécessairement nécessaire.
Gilly
6
yep ... affichage: bloc; ou un bloc en ligne est nécessaire
dGo
Cela a été très utile pour conserver l'orientation correcte du texte de la face arrière d'un élément lorsqu'il est tourné le long de l'axe Y. Par exemple:backface-visibility: visible; transform-origin: center center; transform-style: preserve-3d; transform: matrix(-1, 0, 0, 1, 0, 0) rotateY(180deg) ;
Cette solution semble fonctionner dans tous les navigateurs, y compris IE6 +, en utilisant scale(-1,1)(un miroir approprié) et les propriétés filter/ appropriées -ms-filterlorsque cela est nécessaire (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);}
Ce qui est peut-être encore plus clair et compréhensible.
EDIT: ne semble pas fonctionner sur Opera si… malheureusement. Mais cela fonctionne bien sur Firefox. Je suppose qu'il pourrait être nécessaire de dire implicitement que nous faisons une sorte de translate3dpeut-être? Ou quelque chose comme ça.
Pour ceux qui se demandent, c'est une transformation 3D. Je pense que c'est certainement plus lisible / compréhensible que les méthodes d'échelle et de matrice données précédemment.
gregtczap
Je ne vois pas comment une rotation est un miroir - cela ne semblerait être le cas que dans un cas spécial.
cel sharp
@celsharp c'est sur l'axe Y, donc vous voyez l'image / l'élément de son dos, donc, en miroir.
jeromej
1
Il suffit d'ajouter une démo de travail pour un retournement de miroir horizontal et vertical.
box-reflect est une propriété réservée aux webkits. mais je ne pense pas qu'il ait un équivalent -moz- .. Vérifiez cet article ..
mithunsatheesh
le séparateur ne devrait pas :non plus;
mithunsatheesh
0
Juste un exemple de plus sur la façon dont le personnage pourrait être inversé. Ajoutez des préfixes de fournisseur si vous en avez besoin, mais pour l'instant tous les navigateurs modernes prennent en charge la propriété de transformation non préfixée. La seule exception est Opera si le mode Opera Mini est activé (~ 3% des utilisateurs mondiaux).
Réponses:
Vous pouvez utiliser des transformations CSS pour y parvenir. Un retournement horizontal impliquerait de mettre à l'échelle le div comme ceci:
Et un retournement vertical impliquerait de mettre à l'échelle le div comme ceci:
DÉMO:
la source
Les deux paramètres sont l'axe X et l'axe Y, -1 sera un miroir, mais vous pouvez adapter l'échelle à n'importe quelle taille selon vos besoins. À l'envers et en arrière serait
(-1, -1)
.Si vous êtes intéressé par la meilleure option disponible pour la prise en charge multi-navigateurs en 2011, consultez mon ancienne réponse .
la source
Véritable miroir:
la source
fa-flip-horizontal
etfa-flip-vertical
backface-visibility: visible; transform-origin: center center; transform-style: preserve-3d; transform: matrix(-1, 0, 0, 1, 0, 0) rotateY(180deg) ;
Vous pouvez utiliser soit
ou
Notez que le réglage
position
surabsolute
est très important! Si vous ne le définissez pas, vous devrez définirdisplay: inline-block;
la source
J'ai bricolé cette solution en parcourant Internet, y compris
Cette solution semble fonctionner dans tous les navigateurs, y compris IE6 +, en utilisant
scale(-1,1)
(un miroir approprié) et les propriétésfilter
/ appropriées-ms-filter
lorsque cela est nécessaire (IE6-8):la source
Pour la compatibilité entre navigateurs, créez cette classe
Et ajoutez-le à votre classe d'icônes, c'est-à-dire
pour obtenir une icône de recherche avec la poignée à gauche
la source
vous pouvez utiliser «transformer» pour y parvenir. http://jsfiddle.net/aRcQ8/
css:
la source
Il y a aussi le
rotateY
pour un vrai miroir:Ce qui est peut-être encore plus clair et compréhensible.
EDIT: ne semble pas fonctionner sur Opera si… malheureusement. Mais cela fonctionne bien sur Firefox. Je suppose qu'il pourrait être nécessaire de dire implicitement que nous faisons une sorte de
translate3d
peut-être? Ou quelque chose comme ça.la source
Il suffit d'ajouter une démo de travail pour un retournement de miroir horizontal et vertical.
la source
c'est ce qui a fonctionné pour moi
<span class="navigation-pipe">></span>
juste besoin d'affichage: bloc en ligne ou bloc à tourner. Donc, fondamentalement, la première réponse est bonne. Mais -180 n'a pas fonctionné.
la source
Vous pouvez essayer la réflexion sur boîte
voir la compatibilité des boîtes de propriétés CSS? pour plus de détails
la source
:
non plus;
Juste un exemple de plus sur la façon dont le personnage pourrait être inversé. Ajoutez des préfixes de fournisseur si vous en avez besoin, mais pour l'instant tous les navigateurs modernes prennent en charge la propriété de transformation non préfixée. La seule exception est Opera si le mode Opera Mini est activé (~ 3% des utilisateurs mondiaux).
la source
direction: rtl;
est probablement ce que vous recherchez.la source
Cela fonctionne très bien avec des icônes de police comme «icônes de trait s7» et «police génial» :
Et puis sur l'élément cible:
la source