专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

css3旋转属性,css3旋转怎么做

来源:小易整编  作者:小易  发布时间:2023-02-23 04:07
摘要:css3旋转属性,css3旋转怎么做要玩转css3的3d,就必须了解几个词汇,便是透视(perspective)、旋转(rotate)和移动(translate)。透视即是以现实的视角来看屏幕上的2D事物,从而展现3D的效果。旋转则不再是2...

/*容器*/.container { -webkit-perspective: 1000px; -moz-perspective: 1000px; -ms-perspective: 1000px; perspective: 1000px; }/*piece盒子*/ .piece-box { perspective-origin: 50% 50%; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; }

第三步:加入必要的样式

/*容器*/.container { -webkit-perspective: 1000px; -moz-perspective: 1000px; -ms-perspective: 1000px; perspective: 1000px; }/*piece盒子*/.piece-box { position: relative; width: 200px; height: 200px; margin: 300px auto; perspective-origin: 50% 50%; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; }/*piece通用样式*/.piece { position: absolute; width: 200px; height: 200px; background: red; opacity: 0.5; }.piece-1 { background: #FF6666; }.piece-2 { background: #FFFF00; }.piece-3 { background: #006699; }.piece-4 { background: #009999; }.piece-5 { background: #FF0033; }.piece-6 { background: #FF6600; }

当然,在你完成这步之后你还是只看到一个正方形,也就是我们的piece-6,因为我们的3Dtransform还没开始

css3旋转属性,css3旋转怎么做

第四步:3D变换来袭

首先是实现走马灯,我们先不要让它走,先实现灯部分。

如何实现呢?因为要构成一个圆,圆是360度,而我们有6个piece,那么,很容易想到,我们需要把每一个piece以递增60度的方式rotateY,就变成如下

css3旋转属性,css3旋转怎么做

如何把他们从中心拉开呢?

这里我们还要注意一点,在我们使元素绕Y轴旋转以后,其实X轴和Z轴也会跟着旋转,所所以正方体的每个面的垂直线还是Z轴,我们就只需要改变下translateZ的值,而当translateZ为正的时候,就朝着我们的方向走来,这样就可以拉开了

但是拉开的距离如何衡量?

css3旋转属性,css3旋转怎么做

是不是一目了然了~

下面我们再修改下css

.piece-1 { background: #FF6666; -webkit-transform: rotateY(0deg) translateZ(173.2px); -ms-transform: rotateY(0deg) translateZ(173.2px); -o-transform: rotateY(0deg) translateZ(173.2px); transform: rotateY(0deg) translateZ(173.2px); }.piece-2 { background: #FFFF00; -webkit-transform: rotateY(60deg) translateZ(173.2px); -ms-transform: rotateY(60deg) translateZ(173.2px); -o-transform: rotateY(60deg) translateZ(173.2px); transform: rotateY(60deg) translateZ(173.2px); }.piece-3 { background: #006699; -webkit-transform: rotateY(120deg) translateZ(173.2px); -ms-transform: rotateY(120deg) translateZ(173.2px); -o-transform: rotateY(120deg) translateZ(173.2px); transform: rotateY(120deg) translateZ(173.2px); }.piece-4 { background: #009999; -webkit-transform: rotateY(180deg) translateZ(173.2px); -ms-transform: rotateY(180deg) translateZ(173.2px); -o-transform: rotateY(180deg) translateZ(173.2px); transform: rotateY(180deg) translateZ(173.2px); }.piece-5 { background: #FF0033; -webkit-transform: rotateY(240deg) translateZ(173.2px); -ms-transform: rotateY(240deg) translateZ(173.2px); -o-transform: rotateY(240deg) translateZ(173.2px); transform: rotateY(240deg) translateZ(173.2px); }.piece-6 { background: #FF6600; -webkit-transform: rotateY(300deg) translateZ(173.2px); -ms-transform: rotateY(300deg) translateZ(173.2px); -o-transform: rotateY(300deg) translateZ(173.2px); transform: rotateY(300deg) translateZ(173.2px); }

是不是已经实现了走马灯了?

css3旋转属性,css3旋转怎么做

第五步:animation让3D动起来

要实现走马灯动,其实很简单,我们只要在piece-box上加上旋转动画就行了,5s完成动画,从0度旋转到360度

/*piece盒子*/.piece-box { position: relative; width: 200px; height: 200px; margin: 300px auto; perspective-origin: 50% 50%; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; animation: pieceRotate 5s; -moz-animation: pieceRotate 5s; /* Firefox */ -webkit-animation: pieceRotate 5s; /* Safari and Chrome */ -o-animation: pieceRotate 5s ; /* Opera */}/*走马灯动画*/@keyframes pieceRotate { 0% {-webkit-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg);} 100% {-webkit-transform: rotateY(360deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg);} }/* Firefox */@-moz-keyframes pieceRotate { 0% {-webkit-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg);} 100% {-webkit-transform: rotateY(360deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg);} }/* Safari and Chrome */@-webkit-keyframes pieceRotate { 0% {-webkit-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg);} 100% {-webkit-transform: rotateY(360deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg);} }/* Opera */@-o-keyframes pieceRotate { 0% {-webkit-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg);} 100% {-webkit-transform: rotateY(360deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg);} }

这里就不放gif了~hhh是不是实现了酷炫的效果,还没结束哦~更酷炫的正方体组装

正方体,其实也不难实现,我这里就不很详细说了,你首先可以想象一个面,然后去拓展其他面如何去实现,比如我们把正方体的前面translateZ(100px)让它靠近我们100px,然后后面translateZ(-100px)让它远离我们100px,左边是先translateX(-100px再rotateY(90deg),右边就是translateX(100px)再rotateY(90deg),上面是先translateY(-100px),rotateX(90deg),下面是先translateY(100px),rotateX(90deg),只要我们写进动画,一切就大功告成。


本文地址:IT问答频道 https://www.hkm168.com/itwenda/903300_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • css3的透明度怎么设置

    css3的透明度怎么设置

    方法:1、利用rgba()函数,语法为“rgba(红色值,绿色值,蓝色值,透明度值);”;2、利用opacity属性,语法为“opacity:透明度值;”;3、利用filter属性,语法为“filter:opacity(透明度值);”。本教...

  • 电脑双击打开的是属性怎么办

    电脑双击打开的是属性怎么办

    电脑双击打开的是属性的解决办法:1、打开“开始”菜单,点击“运行”选项;2、在打开的“运行”窗口中,输入“msconfig”命令,点击“确认”;3、在“系统配置”窗口点击“启动”选项卡;4、在启动的列表框中,把所有启动项的勾选去掉;5、按“...

  • HTML input标签的属性有哪些

    HTML input标签的属性有哪些

    input属性有:accept、align、alt、autocomplete、autofocus、checked、disabled、form、width、value、type、src、size、readonly、maxlength等等。本教...

  • nodejs对象加属性不显示怎么办

    nodejs对象加属性不显示怎么办

    在使用node.js开发应用程序时,有时候会遇到对象加属性不显示的情况,这是因为对象的属性并没有正确的被添加进去。在本文中,我们将探讨这个问题的原因和解决方法。原因分析对象添加属性不显示的原因可能有多种,下面我们详细来看一看可能出现的情况:...

  • CSS:Border属性

    CSS:Border属性

    边界是众所周知的,有什么新的东西吗?好吧,我敢打赌,在这篇文章中,有很多你不看永远不知道的东西!不仅可以用CSS3来创建圆角,使用原有CSS一样可以显示自定义图形。这是正确的(有待考究);在过去,没发现这种技术之前,我们可能使用背景图像定位...

  • ps如何旋转画布

    ps如何旋转画布

    ps旋转画布的方法:首先点击文件,并点击确定;然后新建一个带有图片的图层;接着右击右侧的抓手图标并选择旋转视图工具;最后旋转图片即可。本文操作环境:Windows7系统,AdobePhotoshopCS6版本,DellG3电脑。ps旋...

  • SpringBoot中没有主清单属性怎么解决

    SpringBoot中没有主清单属性怎么解决

    解决SpringBoot没有主清单属性问题:SpringBoot打包成jar后运行提示没有主清单属性解决:补全maven中的bulid信息          org.springframework.bo...

  • css3动画有哪些属性

    css3动画有哪些属性

    css3动画属性有:“@keyframes”、animation、animation-name、animation-duration、animation-delay、animation-direction等等。本教程操作环境:windows...

  • 周排行
  • 月排行
  • 年排行

精彩推荐