Как повернуть + отразить элемент с помощью CSS

Свойство преобразования позволяет вам вращать или отражать, но как вы можете делать и то, и другое одновременно? Скажем, я хочу повернуть элемент на 90 градусов и перевернуть его по горизонтали? Оба выполняются с одним и тем же свойством, поэтому последнее перезаписывает первое. Вот пример скрипки для удобства:

http://jsfiddle.net/DtNh6/

transform: rotate(90deg);
transform: scaleX(-1);

person chinabuffet    schedule 10.06.2013    source источник


Ответы (4)


Я возился с jsfiddle, и это сработало:

$('#photo').css('transform', 'rotate(90deg) scaleX(-1)');

Чтобы связать это с вашим вопросом, полученный CSS выглядит так

transform: rotate(90deg) scaleX(-1);
person James Green    schedule 10.06.2013
comment
Есть идеи, поддерживается ли это в браузерах? Спасибо! - person chinabuffet; 10.06.2013
comment
Бит свойств, разделенных пробелами, находится в спецификации - насколько хорошо в спецификации отображаются поддерживаемые браузерами, можно только догадываться, но я был бы уверен, используя его, я думаю (поскольку я полагался бы на браузеры, реализующие преобразования вообще ) - person James Green; 10.06.2013
comment
Мне нравится, что я ответил точно так же перед ним, и вы отметили его как ответ. - person Austin Brunkhorst; 10.06.2013

Свойства могут быть разделены пробелами, например так.

transform: rotate(90deg) scaleX(-1);
person Austin Brunkhorst    schedule 10.06.2013

Для будущих поколений более полный ответ:

.rotate2{ /*leaning left <- */
    -webkit-transform:rotate(270deg);
    -moz-transform:rotate(270deg);
    -o-transform:rotate(270deg);
    -ms-transform:rotate(270deg);
    transform:rotate(270deg);
}
.rotate4{ /*upside down*/
    -webkit-transform:rotate(180deg);
    -moz-transform:rotate(180deg);
    -o-transform:rotate(180deg);
    -ms-transform:rotate(180deg);
    transform:rotate(180deg);
}
.rotate6{ /*leaning right -> */
    -webkit-transform:rotate(90deg);
    -moz-transform:rotate(90deg);
    -o-transform:rotate(90deg);
    -ms-transform:rotate(90deg);
    transform:rotate(90deg);
}
.rotate8{ /*vertical flip*/ /*upside-down mirror*/
    -moz-transform: scale(1, -1);
    -webkit-transform: scale(1, -1);
    -o-transform: scale(1, -1);
    -ms-transform: scale(1, -1);
    transform: scale(1, -1);
}
.rotate10{ /*vertical flip*/ /*upside-down*/
    -moz-transform: rotate(90deg) scale(1, -1);
    -webkit-transform: rotate(90deg) scale(1, -1);
    -o-transform: rotate(90deg) scale(1, -1);
    -ms-transform: rotate(90deg) scale(1, -1);
    transform: rotate(90deg) scale(1, -1);
}
.rotate12{ /*horizontal flip*/ /*left-right mirror*/
    -moz-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}
.rotate14{ /*horizontal flip*/ /*left-right mirror*/
    -moz-transform: rotate(90deg) scale(-1, 1);
    -webkit-transform: rotate(90deg) scale(-1, 1);
    -o-transform: rotate(90deg) scale(-1, 1);
    -ms-transform: rotate(90deg) scale(-1, 1);
    transform: rotate(90deg) scale(-1, 1);
}
person Kaan Soral    schedule 26.06.2016

Посмотри на это:

element {
        -moz-transform: scaleX(-1);
        -o-transform: scaleX(-1);
        -webkit-transform: scaleX(-1);
        transform: scaleX(-1);
        filter: FlipH;
        -ms-filter: "FlipH";
}

для получения дополнительной информации перейдите по ссылке: https://css-tricks.com/snippets/css/flip-an-image/

person Owaiz Yusufi    schedule 20.10.2018