html - 如何进行多次二维变换?

标签 html css css-transforms

我想对一个 div 元素同时进行多种转换(旋转、平移等)。

我似乎无法做到这一点,因为只应用了一个转换(第一个),使用以下代码:

<!DOCTYPE html>
<html>
    <head>
    <style> 
        div {
            width:100px;
            height:75px;
            background-color:#FFCC00;
            border:1px solid black;
        }

        div#div2 {
            transform:rotate(45deg);
            -ms-transform:rotate(45deg); /* IE 9 */
            -moz-transform:rotate(45deg); /* Firefox */      
            -webkit-transform:translate(50px,100px); /* Safari and Chrome */
            -webkit-transform:rotate(45deg); /* Safari and Chrome */
            -o-transform:rotate(45deg); /* Opera */
        }

    </style>
    </head>
<body>
    <div>This is a DIV element.</div>
    <div id="div2">This is a DIV element + Transformation</div>
</body>
</html>

在 Chrome 上测试,只有旋转受到影响,平移即使位于第一个(旋转之前)也没有效果。

最佳答案

transform 的形式语法是:

transform: <transform-function> [<transform-function>]* | none

为了执行多个转换,您必须连接转换函数:

-webkit-transform: translate(50px,100px) rotate(45deg);
-moz-transform: translate(50px,100px) rotate(45deg);
-ms-transform: translate(50px,100px) rotate(45deg);
-o-transform: translate(50px,100px) rotate(45deg);
transform: translate(50px,100px) rotate(45deg);

这是一个 live demo on jsFiddle ,基于您的代码。

进一步阅读

关于html - 如何进行多次二维变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14111947/

相关文章:

javascript - 如何设置导航栏的事件状态?

javascript - 复制到剪贴板 - 不适用于 FF,Chrome

javascript - 将一个类的元素加在一起

css - 变换元素以匹配平板电脑渲染的视角

jquery - 如何使用 jQuery 在单击输入框时使其他 div 变暗?

html - 如何为国家 map 中的州实现图像 map

javascript - 在 jquery .when .done 函数中访问数据(eval 也是邪恶的吗?)

javascript - 如何为不同部分触发不同模态

html - 被 clip-path 隐藏的元素仍然会增加页面长度

Css transform 在另一个转换后的元素中