CSS3实现球体旋转.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CSS3实现球体旋转

CSS3实现球体旋转本教程简述如何用CSS3实现旋转的球体效果如下图所示,球体沿着中间的轴旋转:要理解的知识点1 三维空间的透视属性css属性:perspectiveperspective 属性有两个值,none 和 自己定义的具体像素,例如1000px。注意:当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身,所以我们可以把这个属性理解为照相机和被拍摄物体的距离,CSS3 3D 变换中透视的透视点是在浏览器的前方,当我们设置它的值为具体数值的时候,其子元素就会具有近大远小,近实远虚的效果。目前这个属性对浏览器支持还不算太好,只有Chrome 和 Safari 支持替代的 -webkit-perspective 属性。2 css属性transform-style这个属性浏览器支持情况良好,除了ie浏览器,其他浏览器都支持。Firefox 支持 transform-style 属性,而Chrome、Safari 和 Opera 支持替代的 -webkit-transform-style 属性。transform-style属性是设置其子元素是否保留3d位置的。它也是有两个值:1 默认值是flat,表示其子元素不保留3d位置。2另一个值是preserve-3d,当元素设置了这个值的时候,其子元素就相当于进入了三维空间。如图所示:x轴表示横向的轴y轴表示纵向的轴z轴其实就是我们的视线,是与我们直视的水平面垂直的如果一个元素沿着x轴旋转,可以想象成奥运单杆运动员那样运动~如果一个元素沿着y轴旋转,可以想象成公园旋转木马沿着中间的柱子绕圈圈~而元素沿着z轴旋转的话更好理解了,可以想象成视线正前方,有一个风扇,风扇的扇叶就是沿着z轴旋转的~关于3d的一些相关属性,介绍完毕,那么开始案例制作结构和样式(代码如下,具体属性都添加了对应注释)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162!doctype?htmlhtmlhead?meta?charset=UTF-8?titleball/title?style?*{padding:?0;?margin:?0;?list-style:?none;?border:?0;}?body{background:#000;}?/*?设置透视盒子在浏览器水平和垂直都居中?*/?.ball{?width:?300px;?height:?300px;?position:absolute;?left:?50%;?top:?50%;?margin-left:?-150px;?margin-top:?-150px;?perspective:3000px;?-webkit-perspective:3000px;?}?/*?设置此元素子元素保留3d位置?*/?.ball_in{?position:absolute;?left:?0;?top:?0;?width:?100%;?height:?100%;?transform-style:preserve-3d;?}?/*?实体化这些li,然后设置其为圆形?*/?.ball_in?li{?position:absolute;?left:?0;?top:?0;?width:?100%;?height:?100%;?border:?1px?solid?#fff;?border-radius:50%;???}?/*?对不同的li沿着y轴旋转不同的角度,其实圆球体就出来了?*/?/*?5个li元素,所以每个旋转的角度是360/2/5=36deg?*/?.ball_in?li:nth-child(1){transform:rotateY(0);}?.ball_in?li:nth-child(2){transform:rotateY(36deg);}?.ball_in?li:nth-child(3){transform:rotateY(72deg);}?.ball_in?li:nth-child(4){transform:rotateY(108deg);}?.ball_in?li:nth-child(5){transform:rotateY(144deg);}?/style/headbody??div!--设置透视属性的盒子,其子元素将具有透视效果--?ul!--设置其子元素保留3d位置的元素--?li/li?li/li?li/li?li/li?li/li?/ul/div??/body/html效果如图:此时我们给球体整体则.ball_in元素沿着x轴向前倾斜和沿着z轴向左倾

您可能关注的文档

文档评论(0)

jyf123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档