转 http://www.douban.com/note/174398555/
目前越来越多的浏览器兼容CSS3标准了,就连IE浏览器老大哥也开始向CSS3低头,微软宣布IE9浏览器支持更多的CSS3属性,IE9更注重HTML5标准。不过CSS3里有一个使对象旋转的属性transform rotate,号称兼容CSS3的浏览器对它的支持也不算好,好在Firefox、Webkit和Opera这些浏览器都已经提供了官方的hack去支持这个属性。唯独在IE浏览器里对这个transform属性无法通过一般的CSS写法去实现。
在W3C官方的标准里,通过transform属性使对象旋转的写法如下:
transform: rotate(40deg); /* 其中40是旋转的角度 */
可是由于目前几乎所有的浏览器对这个属性的渲染效率都很低,所以我们可以用下面的hack去提高渲染效率:
-o-transform: rotate(40deg); /* Opera浏览器 */
-webkit-transform: rotate(40deg); /* Webkit内核浏览器 */
-moz-transform: rotate(40deg); /* Firefox浏览器 */
由于目前所有版本的IE都不兼容CSS3,所以我们只能通过IE的CSS滤镜来实现,写法如下:
filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7660444431189777, M12=-0.6427876096865394, M21=0.6427876096865398, M22=0.7660444431189779)";
大家可以看这个DEMO:
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>IE浏览器CSS transform旋转属性的演示</title> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> <style type="text/css"> body { font-family: "Arial", sans-serif; } #ptOfRef { border: #000 solid 3px; background: #6FF; width: 204px; height: 204px; position: absolute; top: 100px; left: 100px; } #example { position: absolute; top: 100px; left: 100px; border: #09F solid 1px; background: #F90; font-weight: 900; color: #FFF; padding: 10px; display: block; width: 200px; height: 200px; margin-top: -1px; margin-left: -1px; transform: rotate(40deg); -o-transform: rotate(40deg); -webkit-transform: rotate(40deg); -moz-transform: rotate(40deg); filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7660444431189777, M12=-0.6427876096865394, M21=0.6427876096865398, M22=0.7660444431189779)"; } </style> <!--[if IE]> <style type="text/css"> #example { top: 50px; left: 50px; } </style> <![endif]--> </head> <body> <div id="ptOfRef"></div> <div id="example">这是一个CSS旋转属性的演示</div> 返回文章 </body> </html>
Tip:transform一个相当复杂的属性,目前可以实现旋转和动画效果,我认为这个属性在CSS3标准完全确定下来以后会变得更加强大。
分享到:
相关推荐
css3实现转动的齿轮(chrome),涉及css动画、圆角、定位等
本文实例讲述了jQuery+css3实现转动的正方形效果。分享给大家供大家参考,具体如下: 主要是应用到了css3中的rotate来控制旋转角度 运行效果截图如下: 点击此处查看在线演示效果。 具体代码如下: <!DOCTYPE ...
这篇文章的核心知识点就是如何利用CSS3的border-radius属性来实现绘制半圆弧线。 首先,我们需要了解border-radius属性的基本用法。border-radius属性允许你对一个元素的边框角落进行圆角设置。例如,border-radius...
"jQuery+CSS3实现图片圆形转动效果"是一个常见的动态展示技术,广泛应用于网站头图、产品展示、广告轮播等多个场景。这个主题涵盖了两个关键的技术:jQuery(一个流行的JavaScript库)和CSS3(一种强大的样式表语言...
本教程将详细讲解如何利用CSS3实现一个逼真的齿轮转动动画特效,让网页元素呈现出机械联动的动态视觉效果。 首先,我们要了解CSS3中的关键帧动画(@keyframes)是实现这种特效的基础。关键帧动画允许我们定义动画的...
在本文中,我们将深入探讨如何使用CSS3来实现一个八方向云台遥控器的样式。云台遥控器是用于控制摄像头或类似设备在八个不同方向上移动的装置,这种功能通常应用于无人机、监控系统等领域。在网页开发中,通过CSS3...
在本项目中,我们主要探讨的是如何利用CSS3和JavaScript技术来创建一个动态的地球转动模型,这个模型能够展示一组数据球体环绕中心地球旋转的效果。这个应用对于那些需要在网页上实现数据可视化或者交互式展示的场景...
5. **CSS3 transforms**:这是实现动态效果的核心,特别是`rotate()`函数,它允许我们围绕任意轴旋转元素,创建时钟指针的转动效果。 6. **Flexbox或Grid布局**:为了更灵活地布局时钟的各个部分,可以使用Flexbox...
在实际实现过程中,可能还会用到CSS3的动画(`animation`)和过渡(`transition`)效果,使立方体的转动更加平滑自然。例如,可以通过`@keyframes`规则定义一个动画,然后将其应用到立方体的各个面上,当用户触发...
在本项目中,"css3实现灯光高亮时钟效果.zip" 提供了一个纯CSS3实现的时钟特效,无需JavaScript代码。这个效果利用了CSS3的先进特性,如动画(animations)、转换(transforms)以及光照和阴影效果,来创建一个具有...
在本项目中,jQuery 被用来控制图片的旋转动画,通过改变图片元素的 CSS 属性来实现转动效果。 CSS3 是对 CSS(层叠样式表)的第三次重大修订,引入了许多新的功能和属性,其中就包括动画。在本案例中,CSS3 的关键...
在本项目中,"js+css3猫头鹰眼睛跟随鼠标指针转动动画特效"是一个巧妙结合了JavaScript和CSS3技术实现的互动效果。这个特效主要用于网页设计,为用户提供一个有趣的用户体验,使得猫头鹰头像的眼睛能够跟随用户的...
CSS3中的transform:rotate()可以实现旋转功能 transition: all 2.0s;表示所有的属性变换在2秒内完成; transform: rotate(360deg);表示图片旋转360度。 参考文档: ...
本压缩包"网页模板——纯CSS3实现齿轮式协同转动动画效果源码.zip"提供了纯CSS3技术实现的齿轮协同转动动画效果,这对于前端开发者来说是一个非常有价值的资源。CSS3作为现代网页设计的核心技术,具有强大的样式控制...
这个"纯CSS3实现齿轮式协同转动动画效果源码.zip"压缩包包含了一个利用CSS3技术实现的独特动画示例,特别强调了齿轮的协同转动效果。这个例子展示了CSS3的强大之处,尤其是其在动画和3D转换方面的应用。 首先,CSS3...
这个名为"网页模板——纯CSS3绘制转动磁带的复古录音机特效.zip"的资源,提供了一种独特的方式,利用纯CSS3技术来创建一个具有转动磁带效果的复古录音机模拟界面。CSS3,即层叠样式表第三版,是Web开发中的一个强大...