旋转 div 元素

Posted

技术标签:

【中文标题】旋转 div 元素【英文标题】:Rotating a div element 【发布时间】:2011-07-12 07:18:56 【问题描述】:

是否可以使用 javascript 而不是使用 html 5 来?

如果是这样,我应该设置/更改元素的哪些属性以使其旋转?即,div.what?

PS:当我说旋转时,我的意思是围绕轴旋转图像,并不是每 x 毫秒显示不同的图像旋转。

【问题讨论】:

排除 HTML5 是否也排除了 CSS3? 好吧,我排除了 HTML5,因为它不适用于所有浏览器,所以如果 CSS3 可以在所有浏览器上运行(是吗?)那么我会使用它。 ***.com/questions/382591/… IE 与 CSS3 和 HTML5 不完全兼容,尤其是 IE9 之前的版本 HTML 5 和 CSS3 在我的书中不存在,直到每个主流浏览器都支持它们。 【参考方案1】:

老问题,但答案可能对某人有所帮助......

您可以在所有主流浏览器中使用专有的 CSS 标记来旋转元素(但 HTML5 一词在这里并不特别相关)。

如何使用 CSS 将元素旋转 45 度的示例:

.example 
    -webkit-transform: rotate(45deg); /* Chrome & Safari */
    -moz-transform: rotate(45deg); /* Firefox */
    -ms-transform: rotate(45deg); /* IE 9+ */
    -o-transform: rotate(45deg); /* Opera */
    transform: rotate(45deg); /* CSS3 */
    filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678, sizingMethod='auto expand'); /* IE 7-8 */

是的,MSIE 语法就是这么可怕。请注意“sizingMethod='auto expand'” - 这对于避免结果被裁剪至关重要。

我相当确定在 MSIE 6 中也支持矩阵转换(至少在某些方面),但它在什么情况下支持它们更加棘手(而且越来越难以关心 8)。

【讨论】:

@Zanthel,没错!看看我的回答。 css3 到 IETransform。这家伙是个天才。 在过滤器方法中,您在哪里得出这些值..M11=0.7071...?如果我想改用 90deg,我该如何计算新值? 看看上面@Ashwin 发布的URL,它可以为你计算它们(该页面上还有一个指向博客文章的链接)。另一个选择是 css3pie.com 您可以使用this link 计算IE Matrix 值:【参考方案2】:

是的,可以不使用 HTML5 而是使用 CSS3 来旋转 div。

您可以在 CSS3 Please 上试验 CSS 旋转(打开 .box_rotate 规则)。

更多信息,谷歌:css rotate

如果您想要一种可在所有浏览器(包括 IE6)上运行的旋转文本,请尝试Raphaël。

【讨论】:

【参考方案3】:

我知道我迟到了。为了子孙后代,我想发帖this:这个网站很不错,它甚至为相应的css3对应物执行矩阵转换

【讨论】:

+!感谢您发布一个链接到自动生成矩阵变换的东西,回到这里来做这件事! :)【参考方案4】:

您可以在 IE 中使用 Matrix。这是一个以跨浏览器方式解决它的函数。

http://kaisarcode.com/javascript-rotate

【讨论】:

欢迎来到 Stack Overflow!请注意,这里不鼓励直接链接到您自己的网站/产品,原因有两个;首先,答案应该作为独立的答案发布,而不仅仅是指向外部站点的链接。其次,自我推销在这里往往不受欢迎,并且经常被标记为垃圾邮件(特别是如果没有披露您链接到自己的网站/产品)。【参考方案5】:

如果您正在寻找一种即时完成的方法,那么您可以使用 element.style.transform = "rotateZ(90deg"); 确保在 CSS 语句周围使用引号。 如果你想要它超过一秒钟(我知道你不想要这个,我只是这样做),你可以输入 element.style.transition = "1s"; element.style.transform = "rotateZ(90deg)";

【讨论】:

以上是关于旋转 div 元素的主要内容,如果未能解决你的问题,请参考以下文章

css控制div元素旋转指定角度代码实例

变形--旋转 rotate()

使用input range滑块,控制元素transform rotate旋转样式

十天精通CSS3

如何使用样式组件在伪元素后旋转图像

前端如何实现div在固定角度缩放