CSS3新增样式大解析:[6]rotate之旋转-初级

CSS3中添加的transform是对元素进行变化操作的,包括位移,旋转,放大,变形等等。今天我就跟大家讲讲Rotate(旋转)的操作。这里我的代码均是采用标准的css3规范书写,大家使用的时候为了兼容可加上-webkit-、-o-、-ms-、-moz-、-khtml-等前缀以适应不同的浏览器。

操作方法

  • 01

    css3新增的一个控制元素旋转属性的函数是rotate()[不要怀疑,它的确是一个隐形的函数,他的使用很类似与js中的函数]。 同之前所讲过的translate和scale,他也分为2D和3D的旋转,差别就是Z轴的旋转。

  • 02

    现在我们来看实例,代码如下: <style> .demo { margin:100px auto; width:300px; height:300px; background:#ededed; border:1px dotted #ff0000; position:relative;} .fl { width:300px; height:145px; background:#00cb99;} .fr { width:300px; height:145px; margin-top:10px; background:#0093b4;} .pa { position:absolute; top:75px; left:75px; width:150px; height:150px; background-color:#f2f2f2;} </style> <div class="demo"> <div class="fl"></div> <div class="fr"></div> <div class="pa"></div> </div> demo的div里面有三个div,最终实现的效果如下图:

  • 03

    现在我们对其应用rotate,假设不知道里面可以传入几个值,那我们可以分别试试传入不同数量的值对比效果,给demo加上: transform:rotate(45deg)(旋转45度,deg是degree的缩写,意为角度;当然这只是一个单位,还有别的单位,但不常用;你也可以直接采用数字而不用单位,这个数字会被自动转换为角度) 效果如下图:

  • 04

    我们再给demo加上: transform:rotate(45deg,45deg); 会发现没有变化,查看代码知道原来这个属性浏览器没有识别出来,这是为什么呢? 这是因为默认的rotate()只能传入一个旋转角度值,而且默认的角度是以电脑屏幕的基准面,以自己的中心为基准点进行旋转的。说白了他是一个二维的旋转。

  • 05

    那,我么应该怎么rotate进行三维的旋转呢? 很简单我之前又讲到过translate的translate3d这一属性;同样rotate也有rotate3d的旋转属性。 既然是3d,那我们就很自然的知道他有rotateX()/rotateY()/rotateZ(),这三个分支的旋转属性。 现在我们给demo加上 transform:rotate3d(45deg,45deg,0deg); 在浏览器当中我们同样会发现不起效果,原因还是不识别。 其实这就是rotate3d和translate3d,不同的地方,translate3d传入的三个值分别会被解析为XYZ的位移距离,二translate则不会这么解析,官方给出的解析方法是rotate3d(X?,Y?,Z?,angle);也就是你需要对你需要旋转的轴进行判断,如果你要沿着该轴转动那就将该轴的值设置为1,否则为0;然后在后面的angle中设置旋转的角度,需要注意的是,angle只有一个角度值。 所以上面正确的写法是: transform:rotate3d(1,1,0,45deg); 效果如下图:

  • 06

    分析: 上图画的坐标轴没画好,见谅哈。 横的是X轴,竖的是Y轴,斜线是Z轴(也就是你盯着电脑看视线到电脑这个轴) rotate的转动基准是以轴来转动的,当多个轴交叠旋转才会形成围绕某个点旋转的效果。 元素默认情况下,他所在的面是Z轴与Y轴所形成的面(或平行面)。当谈围绕X轴转,若传入的为正值,则元素上面会向屏幕里面转动,下面回向屏幕外面转动,也就是向用户转动。其他的几个面也是同样的道理。 现在我们来看沿着单个轴转动的情况,这样会帮助你理解上面这段话。

  • 07

    现在我给demo加上 transform:rotateX(45deg); 有没有发现图象显得没有原来的高了,对比下两边的图象。 其实元素的高度并没有变,而是透视导致。 现象一张纸看他的侧面和看他的正面,所得到的宽度是不一样的。

  • 08

    rotateY()/rotateZ() 这里我就不做介绍了。因为它们的使用和rotateX一样,只是转的角度不同罢了。 好了rotate的初级使用就介绍到这里了。

(0)

相关推荐

  • CSS3新增样式大解析:[7]skew之元素变形

    CSS3中添加的transform是对元素进行变化操作的,包括位移,旋转,放大,变形等等.今天我就跟大家讲讲Skew(变形/倾斜)的操作.这里我的代码均是采用标准的css3规范书写,大家使用的时候为了 ...

  • 着迷乱斗西游wiki新增经文-大解析

    马上就要迎来新的经文了,让小编提前来为大家解析一下,新增的经文到底有何用处.可是,小编不能忍啊,官网竟然让我们猜每个经文的名字和哪个效果对应,小编也是醉了.这怎么猜啊. 操作方法 01 A:己方英雄技 ...

  • 怪物世界赚钱攻略大解析

    如何在怪物世界中赚取第一桶金?其实和在淘宝网上开店差不多.最重要的是两点:第一必须进入角色,理解并体会其他要交易的玩家,跟其说任何话前都先站在对方的角度考虑一下:第二重视信誉问题,玩家这次在你这里购买 ...

  • 用友U8操作教程:[23]新增项目大类

    本系列将以一个单位的经济业务详细介绍用友U8 V10.1软件的操作步骤.涉及到的板块有系统管理,档案设置,总账系统,薪资管理系统,固定资产系统,应收款管理系统,应付款管理系统,UFO报表系统等. 本篇 ...

  • 动漫卡牌手游进击的巨人游戏奥义大解析

    动漫卡牌手游进击的巨人游戏奥义大解析 操作方法 01 在去年最火爆的动漫一定是<进击的巨人>,最近正在内测的同名卡牌手游也收到了广泛的关注.今天的文章就来为大家介绍一下这款游戏中的奥义系统 ...

  • iOS8更新了什么?iOS8新增14大功能

    苹果在2014 WWDC开发者大会上发布了全新一代操作系统iOS8.据了解,此次iOS8操作系统虽然和iOS7区别不打,但是苹果注重的是内在,iOS8添加了众多新功能.iOS8正式版已发布了,你是否已 ...

  • 小小帝国兵种大解析 完美攻略

    操作方法 01 小小帝国兵种大解析 完美攻略 各位国王们大家好哇,我们的<小小帝国>在大家的关注下已经越来越兴旺了呢,帝国里的泥瓦匠.铁匠和花圃园丁们日夜赶工希望能把大家的帝国建设的更加美 ...

  • 王者荣耀牛魔技能大解析

    牛魔依靠自身被动所提供的强大防御属性,加上自身天生血量的优势,使得他在王者荣耀里面是一个很强势的坦克英雄.利用自己技能的减速等效果,牵制敌人,给队友争取输出空间.究竟什么样的技能让牛魔如此强势呢?接下 ...

  • 王者荣耀刘邦技能大解析

    在最近一次的改版中,加强了刘邦的控制能力,降低了刘邦的操作难度,刘邦的输出能力也是有所加强的.这样的刘邦吸引了很多的玩家,使得刘邦成为王者峡谷里面一个很受欢迎的英雄.接下来,就让小编给大家深度解析一下 ...