【发布时间】:2014-06-04 15:54:15
【问题描述】:
我有一个页面,其中包含可以缩放和旋转的图像。在此处查看示例:http://jsfiddle.net/viniciuspaiva/38AzW/
我对此使用了 CSS 转换,但旋转的按钮与应用缩放的按钮不同,因此我需要 CSS 以某种方式保存先前的状态(例如,缩放旋转的图像)。
我尝试了一种“蛮力”方法,创建了一个控制旋转的数据状态(0、1、2 或 3)属性和一个应用缩放的“缩放”类。但是当我缩放时,我无法保持旋转。
我还尝试创建大量 CSS 来防止所有情况,例如下面的示例,但没有奏效。
.zoom [data-state='0']{
transform: scale(1.3) rotate(0deg);
-ms-transform: scale(1.3) rotate(0deg); /* IE 9 */
-moz-transform: scale(1.3) rotate(0deg); /* Firefox */
-webkit-transform: scale(1.3) rotate(0deg); /* Safari and Chrome */
-o-transform: scale(1.3) rotate(0deg); /* Opera */
}
[data-state='0']{
transform: rotate(0deg);
-ms-transform: rotate(0deg); /* IE 9 */
-moz-transform: rotate(0deg); /* Firefox */
-webkit-transform: rotate(0deg); /* Safari and Chrome */
-o-transform: rotate(0deg); /* Opera */
}
【问题讨论】:
-
看起来你使用的是内联脚本,那为什么不正常使用脚本呢?纯 CSS 解决方案可能需要您使用一些可以记住状态的元素,例如复选框、单选按钮。
-
下次请正确标记。还要避免使用内联脚本,这只是一团糟(不是专业风格)
-
为什么不用JS?这会更容易用 JS 处理数据/状态,并且只使用 CSS 来制作实际的动画。
-
@Ennui 实际上他在这里使用了 JS,但它是内联脚本。应该避免。否则我认为在这里找到一些纯 CSS 解决方案并不容易(但并不意味着不可能)。
标签: javascript html css transform