Переворачивание / инвертирование / зеркальное отображение текста с использованием только CSS - PullRequest
52 голосов
/ 08 августа 2010

Я немного погуглил и вот мой ответ

<!--[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>

Единственная проблема здесь заключается в том, что центр зеркального отображения не является центром объекта, поэтому, возможно, нам понадобится некоторый JavaScript, чтобы переместить объект туда, куда мы хотим.

Ответы [ 2 ]

110 голосов
/ 08 августа 2010

Ваш код правильный, но есть более простой способ сделать это:

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 */
}

Я думаю, что это решает проблему центрированного зеркалирования.

Как уже отмечалось, вам нужно настроить элемент на использование отображения блока, встроенного блока и т. Д.

2 голосов
/ 21 ноября 2018

для отражения используйте transform: scaleX(-1); для отражения использования transform: scaleX(-1) rotate(180deg);

...