Est-il possible d'utiliser les CSS/CSS3 pour mettre le texte en miroir ?
Plus précisément, j'ai ce char de ciseaux "✂" ( ✂
) que j'aimerais afficher en pointant vers la gauche et non vers la droite.
Est-il possible d'utiliser les CSS/CSS3 pour mettre le texte en miroir ?
Plus précisément, j'ai ce char de ciseaux "✂" ( ✂
) que j'aimerais afficher en pointant vers la gauche et non vers la droite.
Vous pouvez utiliser des transformations CSS pour y parvenir. Un retournement horizontal impliquerait de mettre à l'échelle le div comme ceci :
-moz-transform: scale(-1, 1);
-webkit-transform: scale(-1, 1);
-o-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
Et un retournement vertical impliquerait de mettre à l'échelle le div comme ceci :
-moz-transform: scale(1, -1);
-webkit-transform: scale(1, -1);
-o-transform: scale(1, -1);
-ms-transform: scale(1, -1);
transform: scale(1, -1);
span{ display: inline-block; margin:1em; }
.flip_H{ transform: scale(-1, 1); color:red; }
.flip_V{ transform: scale(1, -1); color:green; }
<span class='flip_H'>Demo text ✂</span>
<span class='flip_V'>Demo text ✂</span>
C'est certainement la réponse la plus conforme aux normes, malheureusement nous ne vivons pas encore dans un monde où cela fonctionne pour tous les cas d'utilisation.
Pourriez-vous inclure les préfixes réels du navigateur dans votre réponse, avec le dernier non préfixé ? Le CSS tel que vous l'avez donné ne fonctionne pas.
-moz-transform: scale(-1, 1);
-webkit-transform: scale(-1, 1);
-o-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
Les deux paramètres sont l'axe X et l'axe Y. L'axe -1 sera un miroir, mais vous pouvez le mettre à l'échelle de votre choix en fonction de vos besoins. A l'envers et en arrière, ce serait (-1, -1)
.
Si vous êtes intéressé par la meilleure option disponible pour la prise en charge des navigateurs croisés en 2011, voir ma réponse plus ancienne .
Techniquement, ce n'est pas un miroir, c'est une rotation. Donc ça ne fonctionnera qu'avec certains types d'éléments.
J'ai eu des problèmes dans Chrome jusqu'à ce que j'ajoute display : inline-block à mon span (en utilisant des polices pictos).
Étant donné qu'à l'époque où cette question a été posée, les transformations du 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, pour au moins un peu plus longtemps.
Vous devez toujours placer la propriété conforme aux normes (non préfixée) en dernier, de sorte que lorsque la norme sera adoptée par un navigateur, celui-ci utilisera la version conforme aux normes au lieu de la version préfixée (plus ancienne et plus buggée). Dans ce cas, cela signifie que "transform : matrix(-1, 0, 0, 1, 0, 0) ;" devrait être la propriété "transform". dernier la propriété. (J'ai modifié la réponse pour refléter cela).
Je ne sais pas si cela doit figurer dans la réponse correcte ou dans la question, mais je veux informer les utilisateurs de fontawesome / bootstrap de la fa-flip-horizontal
y fa-flip-vertical
propriétés
J'ai bricolé cette solution en parcourant l'Internet, y compris les sites suivants
Cette solution semble fonctionner dans tous les navigateurs, y compris IE6+, en utilisant les éléments suivants scale(-1,1)
(un miroir approprié) et des filter
/ -ms-filter
si 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);
}
Pour la compatibilité entre navigateurs, créez cette classe
.mirror-icon:before {
-webkit-transform: scale(-1, 1);
-moz-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
-o-transform: scale(-1, 1);
transform: scale(-1, 1);
}
Et ajoutez-la à votre classe d'icônes, c'est à dire
<i class="icon-search mirror-icon"></i>
pour obtenir une icône de recherche avec la poignée à gauche
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
10 votes
Si, pour une raison ou une autre, l'image des ciseaux ne vous convient pas, je l'ai vue simulée avec %< et >%.
1 votes
Voir ce fil : stackoverflow.com/questions/3433641/ [1] : stackoverflow.com/questions/3433641/
3 votes
La réponse de Micheal est plus précise. Pouvez-vous s'il vous plaît mettre à jour la réponse correcte ? Parce que la réponse que vous avez marquée comme correcte n'est pas un miroir mais une rotation de 180 degrés.
0 votes
@PeteWilson, ? L'omble est si commun ? A quoi sert-il ?
0 votes
+5 pour une bonne question
4 votes
Sachez que la rotation est différente selon l'implémentation de l'emoji. Sur le jeu d'emoji d'Apple, il est dirigé vers le bas.