Die Antwort von Micheal ist genauer. Können Sie bitte die richtige Antwort aktualisieren? Denn die Antwort, die Sie als richtig markiert haben, ist nicht Spiegelung, sondern Drehung um 180 Grad.
Sanket Sahu
@ PeteWilson ,? Ist das Zeichen so häufig? Wofür wird es verwendet?
Pacerier
4
Beachten Sie, dass die Rotation je nach Emoji-Implementierung unterschiedlich ist. Auf Äpfeln Emoji Set zeigt es nach unten.
Akkumulator
Antworten:
411
Sie können CSS-Transformationen verwenden, um dies zu erreichen. Ein horizontaler Flip würde das Skalieren des Div wie folgt beinhalten:
Dies sollte die richtige Antwort sein! (Spiegel entlang der vertikalen Achse, Skala (1, -1) für horizontale Achse)
Entwurf von Adrian
Es ist sicherlich die Antwort, die den Nost-Standards entspricht. Leider leben wir noch nicht in einer Welt, in der dies tatsächlich für alle Anwendungsfälle funktioniert.
Chris Sobolewski
Könnten Sie die tatsächlichen Browserpräfixe in Ihre Antwort aufnehmen, wobei das letzte nicht vorangestellt wird? Das CSS, wie Sie es angegeben haben, funktioniert nicht.
Serrano
@ FerranoPereira in der Tat, danke für den Vorschlag. Antwort geändert.
Die beiden Parameter sind X-Achse und Y-Achse. -1 ist ein Spiegel. Sie können jedoch auf eine beliebige Größe skalieren, die Ihren Anforderungen entspricht. Umgedreht und rückwärts wäre (-1, -1).
Wenn Sie an der besten Option interessiert sind, die 2011 für die browserübergreifende Unterstützung verfügbar war, lesen Sie meine ältere Antwort .
Technisch ist dies kein Spiegel. es ist gedreht. Es wird also nur mit einer Art von Elementen
funktionieren
4
Ich hatte einige Probleme in Chrome, bis ich Anzeige hinzufügte: Inline-Block zu meiner Spanne (unter Verwendung von Pictos-Schriftarten)
Clarence Liu
1
Angesichts der Tatsache, dass Browser-Transformationen bei der Beantwortung dieser Frage nicht allgemein unterstützt wurden, würde ich argumentieren, dass dies die richtige Antwort war. Tatsächlich werden Transformationen erst in IE 9 unterstützt, daher würde ich argumentieren, dass dies immer noch die richtige Antwort ist, zumindest für eine Weile länger.
Chris Sobolewski
Diese Antwort ist falsch, es ist kein Spiegel. Dies funktioniert nur in diesem Fall, da das im Beispiel angegebene Symbol vertikal asymmetrisch ist.
Gregtczap
Obwohl dies an sich nützlich ist, ist es nicht die Antwort auf die genaue gestellte Frage. Ich habe diese Frage über eine Suchmaschine gefunden, weil ich ein Bild horizontal spiegeln wollte. Es ist nicht symmetrisch wie die OP-Schere.
Sie sollten immer die standardkonforme Eigenschaft (ohne Präfix) an die letzte Stelle setzen, damit bei der Übernahme des Standards durch einen Browser die standardbasierte Version anstelle der (älteren, fehlerhafteren) Präfixversion verwendet wird. In diesem Fall bedeutet dies "transformieren: Matrix (-1, 0, 0, 1, 0, 0)"; sollte die letzte Eigenschaft sein. (Die Antwort wurde bearbeitet, um dies widerzuspiegeln.)
Jay Dansand
7
Ich weiß nicht, ob dies auf der richtigen Antwort oder der Frage sein sollte, aber ich möchte Fontawesome / Bootstrap-Benutzer über die fa-flip-horizontalund fa-flip-verticalEigenschaften informieren
lol
1
Tolle echte Antwort. Anzeige: Block; nicht unbedingt benötigt.
Gilly
6
yep ... Anzeige: Block; oder Inline-Block wird benötigt
dGo
Dies war sehr hilfreich, um die korrekte Textausrichtung der Rückseite eines Elements beizubehalten, wenn es entlang der Y-Achse gedreht wird. Zum Beispiel:backface-visibility: visible; transform-origin: center center; transform-style: preserve-3d; transform: matrix(-1, 0, 0, 1, 0, 0) rotateY(180deg) ;
Diese Lösung scheint in allen Browsern einschließlich IE6 + zu funktionieren und verwendet scale(-1,1)(einen geeigneten Spiegel) und entsprechende filter/ -ms-filterEigenschaften, falls erforderlich (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);}
Was vielleicht noch klarer und verständlicher ist.
EDIT: Scheint aber nicht an Opera zu funktionieren ... leider. Aber es funktioniert gut unter Firefox. Ich denke, es könnte erforderlich sein, implizit zu sagen, dass wir translate3dvielleicht eine Art von tun ? Oder etwas ähnliches.
Für diejenigen, die sich fragen, ist dies eine 3D-Transformation. Ich denke, es ist definitiv lesbarer / verständlicher als die zuvor angegebenen Skalen- und Matrixmethoden.
Gregtczap
Ich sehe nicht, wie eine Drehung ein Spiegel ist - das scheint nur in einem speziellen Fall so zu sein.
Cel
@celsharp ist auf der Y-Achse, so dass Sie das Bild / Element von hinten sehen, also gespiegelt.
Jeromej
1
Fügen Sie einfach eine funktionierende Demo für horizontalen und vertikalen Spiegelwechsel hinzu.
Box-Reflect ist eine reine Webkit-Eigenschaft. aber ich glaube nicht, dass es ein -moz- Äquivalent hat .. Überprüfen Sie diesen Beitrag ..
mithunsatheesh
auch Trennzeichen sollte :nicht sein;
mithunsatheesh
0
Nur noch ein Beispiel, wie der Charakter umgedreht werden könnte. Fügen Sie bei Bedarf Herstellerpräfixe hinzu, aber derzeit unterstützen alle modernen Browser nicht vordefinierte Transformationseigenschaften. Die einzige Ausnahme ist Opera, wenn der Opera Mini-Modus aktiviert ist (~ 3% Weltnutzer).
Antworten:
Sie können CSS-Transformationen verwenden, um dies zu erreichen. Ein horizontaler Flip würde das Skalieren des Div wie folgt beinhalten:
Und ein vertikaler Flip würde das Skalieren des Div wie folgt beinhalten:
DEMO:
quelle
Die beiden Parameter sind X-Achse und Y-Achse. -1 ist ein Spiegel. Sie können jedoch auf eine beliebige Größe skalieren, die Ihren Anforderungen entspricht. Umgedreht und rückwärts wäre
(-1, -1)
.Wenn Sie an der besten Option interessiert sind, die 2011 für die browserübergreifende Unterstützung verfügbar war, lesen Sie meine ältere Antwort .
quelle
Echter Spiegel:
quelle
fa-flip-horizontal
undfa-flip-vertical
Eigenschaften informierenbackface-visibility: visible; transform-origin: center center; transform-style: preserve-3d; transform: matrix(-1, 0, 0, 1, 0, 0) rotateY(180deg) ;
Sie können entweder Benutzer
oder
Beachten Sie, dass die Einstellung
position
aufabsolute
sehr wichtig ist! Wenn Sie es nicht einstellen, müssen Sie einstellendisplay: inline-block;
quelle
Ich habe diese Lösung zusammengeschustert, indem ich das Internet einschließlich durchsucht habe
Diese Lösung scheint in allen Browsern einschließlich IE6 + zu funktionieren und verwendet
scale(-1,1)
(einen geeigneten Spiegel) und entsprechendefilter
/-ms-filter
Eigenschaften, falls erforderlich (IE6-8):quelle
Erstellen Sie diese Klasse aus Gründen der Cross-Browser-Kompatibilität
Und fügen Sie es Ihrer Symbolklasse hinzu, dh
um ein Suchsymbol mit dem Griff links zu erhalten
quelle
Sie können 'transform' verwenden, um dies zu erreichen. http://jsfiddle.net/aRcQ8/
CSS:
quelle
Es gibt auch
rotateY
einen echten Spiegel:Was vielleicht noch klarer und verständlicher ist.
EDIT: Scheint aber nicht an Opera zu funktionieren ... leider. Aber es funktioniert gut unter Firefox. Ich denke, es könnte erforderlich sein, implizit zu sagen, dass wir
translate3d
vielleicht eine Art von tun ? Oder etwas ähnliches.quelle
Fügen Sie einfach eine funktionierende Demo für horizontalen und vertikalen Spiegelwechsel hinzu.
quelle
Dafür hat es bei mir funktioniert
<span class="navigation-pipe">></span>
brauche nur Anzeige: Inline-Block oder Block zum Drehen. Die erste Antwort ist also im Grunde gut. Aber -180 hat nicht funktioniert.
quelle
Sie könnten versuchen, Box-Reflect
Siehe CSS-Eigenschaft Box-Reflect-Kompatibilität? für mehr Details
quelle
:
nicht sein;
Nur noch ein Beispiel, wie der Charakter umgedreht werden könnte. Fügen Sie bei Bedarf Herstellerpräfixe hinzu, aber derzeit unterstützen alle modernen Browser nicht vordefinierte Transformationseigenschaften. Die einzige Ausnahme ist Opera, wenn der Opera Mini-Modus aktiviert ist (~ 3% Weltnutzer).
quelle
direction: rtl;
ist wahrscheinlich das, wonach Sie suchen.quelle
Das funktioniert gut mit Schriftarten -Symbolen wie "s7-Strich-Symbole" und "Schrift-fantastisch" :
Und dann zum Zielelement:
quelle