javascript - 如何将 "pin"html 元素添加到父级,但防止旋转继承?

标签 javascript html css svg

我正在尝试构建一个特定的 UI 元素,该元素基于旋转带有各种指示器的控制对象。该控件是一个包含 SVG 的 Object 元素,在 SVG 中嵌入了 image 标签,这些标签是用户与之交互的图标。当用户旋转元素使图标位于“目标区域”内时,将触发某些功能。

这里有一个非常非常简单的例子:http://jsfiddle.net/megakoresh/pp7mt1nm/2/

该元素是使用通过 javascript 设置的 CSS transform: rotate() 属性构建的,正如您从示例中看到的那样,它的所有子元素都随之旋转。我想做的是让它们保持直立,但仍然改变位置,就好像它们“悬挂”在父元素上一样。

如果你去 fiddle 并取消注释 JS 代码,你可以看到一个使用 requestAnimationFrame 的解决方案,但它确实又重又乱,我真的不喜欢它。有没有更好的方法可以在父级旋转时保持元素直立,但仍让它们随之移动?

重要:

好吧,我想我还不够清楚:这是我正在构建的可旋转 UI 元素。 130deg 只是一个示例 - 用户可以将元素旋转到他们希望的任何 Angular 。我不能简单地对这些度数进行硬编码,我必须防止 children 继承旋转。

正如 Polywhirl 先生所指出的,它是这样的:

http://codepen.io/mr_alien/pen/Alzqe

除了用户可以捕获轮子并自己向任何方向旋转。

最佳答案

a {
    transition: transform 1s ease;
}
.block:hover a {
    transform: rotate(-130deg);
}

关于javascript - 如何将 "pin"html 元素添加到父级,但防止旋转继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29431578/

相关文章:

javascript - Laravel 在文本框值上显示表单按钮

html - 嵌套 div 的高度问题

javascript - 在 Javascript 中循环遍历表格单元格 ID

html - persistent,preferred 和 alternate 之间有什么区别

javascript - Maven Javascript 压缩器

javascript - 如何将 JSON 字符串附加到 HTML 预标记?

javascript - 为什么 addClass 和 removeClass 会破坏我的 jQuery?

使用 adobe air 运行 JavaScript 函数

html - 在 <li> 中填充

html - 我怎样才能有一个 html 表,其中只有大于屏幕时才会出现垂直滚动条