CSS3:如何同时旋转和缩放img?

31 javascript css jquery css3 css-transforms

我很困惑.为什么我不能同时使用刻度和旋转?我试过这个,但它不起作用:

.rotate-img{
    -webkit-transform:scale(2,2);
    -webkit-transform:rotate(90deg);
    margin-left:20%;
    margin-top:10%;
}
Run Code Online (Sandbox Code Playgroud)

我尝试过jQuery,但两种方法都不起作用:

<style>
.zoom{
        -webkit-transform:scale(2,2);
        margin-left:20%;
        margin-top:10%;
    }
</style>
<script>

    $(document).ready(function(){
        $("img").dblclick(function(){

            $(this).addClass("zoom");

            $(this).contextmenu(function(){
                $(this).css("-webkit-transform","rotate(90deg)");
                return false;
            })
        });
    })

    </script>
Run Code Online (Sandbox Code Playgroud)

我怎么能缩放img,当我点击右键然后旋转90度.

ade*_*neo 65

您可以使用transform带有rotate(**deg)值的属性使用CSS旋转图像

.rotate-img {
    -webkit-transform : rotate(90deg) scale(0.2); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform     : rotate(90deg) scale(0.2); /* IE 9 */
    transform         : rotate(90deg) scale(0.2); /* Firefox 16+, IE 10+, Opera */
    left : -200px;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)
<img class="rotate-img" src="https://appharbor.com/assets/images/stackoverflow-logo.png" />
Run Code Online (Sandbox Code Playgroud)

transform在多行上应用时,它就像任何其他CSS属性一样,它会被覆盖,所以只使用最后一行,就像下面这样:

.myclass {
    top: 100px;
    top: 400px;
}
Run Code Online (Sandbox Code Playgroud)

只有最后一个适用,所以你需要把所有的转换都放在一个transform.

  • 注意,顺序很重要-您可能想先旋转然后缩放(如上文所述)以保持元素的角度;颠倒顺序将使元素变形。参见http://stackoverflow.com/a/5395185/957950。 (2认同)

Vol*_* E. 13

好吧,建立在adeneo的答案之上,包括所有能够进行CSS转换的浏览器.

.rotate-img {
    -webkit-transform: rotate(90deg) scale(2.2); /* Chrome 4+, Op 15+, Saf 3.1, iOS Saf 3.2+ */
       -moz-transform: rotate(90deg) scale(2.2); /* Fx 3.5-15 */
        -ms-transform: rotate(90deg) scale(2.2); /* IE 9 */
         -o-transform: rotate(90deg) scale(2.2); /* Op 10.5-12 */
            transform: rotate(90deg) scale(2.2); /* Fx 16+, IE 10+ */
    margin: 10% 0 0 20%;
}
Run Code Online (Sandbox Code Playgroud)

看扩展的JS Fiddle.


小智 5

你不需要单独编写代码来使用旋转和缩放你可以像这样使用它:

变换:缩放(1.3)旋转(7度);