2010-08-08 14 views
42

ho fatto un po 'googling e qui è la mia rispostaFlipping/Inversione/mirroring testo usando css solo

<!--[if IE]> 
<style> 
    .mirror { 
     filter: progid:DXImageTransform.Microsoft.BasicImage(mirror=1); 
    } 
</style> 
<![endif]--> 
<style> 
.mirror { 
    display:block; 
    -moz-transform: matrix(-1, 0, 0, 1, 0, 0); 
    -webkit-transform: matrix(-1, 0, 0, 1, 0, 0); 
    -o-transform:matrix(-1, 0, 0, 1, 0, 0); 
} 
</style> 
<div class="mirror">testing</div> 

L'unico problema qui è che il centro di mirroring non è il centro dell'oggetto, così forse abbiamo bisogno di qualche javascript per spostare l'oggetto dove lo vogliamo.

+0

Utilizzare 'transform-origin' per controllare il punto su cui viene applicata la trasformazione. –

+12

˙pɐdǝʇou sʍopuᴉʍ ʇsnɾ ƃuᴉsn ʇᴉ ʎɐldsᴉp puɐ ǝlᴉɟ ʇxǝʇ ɐ sɐ ʇᴉ ǝʌɐs uɐɔ noʎ ʇɐɥʇ ǝƃɐʇuɐʌpɐ ǝɥʇ sɐɥ oslɐ ʇxǝʇ uᴉɐlԀ ˙sᴉɥʇ ǝʞᴉl sɐǝɹɐ XOQ-ʇuǝɯɯoɔ ƃuᴉpnlɔuᴉ 'pǝʍollɐ sᴉ ʇxǝʇ uᴉɐld ǝɹǝɥʍ ǝɹǝɥʍʎuɐ ʇᴉ ǝʇsɐd puɐ ʎdoɔ uɐɔ noʎ ʇɐɥʇ sᴉ ɥɔɐoɹddɐ sᴉɥʇ ɟo ǝƃɐʇuɐʌpɐ ǝɥ┴ ˙ʇɔǝɟɟǝ ɹoɹɹᴉɯ * ʇɔǝɟɹǝd * ɥʇᴉʍ sɹǝʇɔɐɹɐɥɔ ʎɐldsᴉp uɐɔ noʎ 'ɥƃnoɥʇ ** ʇdᴉɹɔsɐʌɐs ǝlʇʇᴉl ɐ ** ʇsnɾ ɥʇᴉM – Pacerier

+0

Ho resistito ribaltando il mio portatile a testa in giù per leggere il commento sopra. Questo ... ci è voluto un po '. – Kay

risposta

86

Il codice è corretto, ma c'è un modo più semplice per fare questo:

img.flip { 
    -moz-transform: scaleX(-1); /* Gecko */ 
    -o-transform: scaleX(-1);  /* Opera */ 
    -webkit-transform: scaleX(-1); /* Webkit */ 
    transform: scaleX(-1);   /* Standard */ 
    filter: FlipH;     /* IE 6/7/8 */ 
} 

penso che questo risolve il problema di mirroring centrato.

+12

Nota che dovrai utilizzare un blocco o un elemento di blocco in linea: http://codepen.io/igalst/pen/fKhmp – IgalSt

Problemi correlati