CSS3简单特效 | 您所在的位置:网站首页 › 书页翻动图片 › CSS3简单特效 |
CSS3简单特效–transform实现翻书效果
上一篇介绍了animation如何实现流光按钮效果,现给大家介绍一下如何利用css3的transform属性实现鼠标停留实现翻书的效果,下图是鼠标停在div上,“书页”翻动后的效果。 一般3D层给实现3D效果的父盒子,视距给最大的盒子body。 在给子元素设置旋转角度过程中,使用伪类选择器可以减少内存的占用,这里使用到:nth-child()伪类。 主要css代码如下: ul:hover li:nth-child(1){ transform:rotateY(-180deg); } ul:hover li:nth-child(2){ transform:rotateY(-160deg); } ul:hover li:nth-child(3){ transform:rotateY(-150deg); } ul:hover li:nth-child(4){ transform:rotateY(-140deg); } ul:hover li:nth-child(5){ transform:rotateY(-130deg); }最后为了实现书页每页翻动时有延时间隔,使用过度属性transition实现过度动画效果。(transition:transition-property(过度属性) transition-duration(过度时间) transition-timing-function(动画类型) transition-delay(延时时间),例如transition:all 2s linear .5s;的意思是所有元素动画延时0.5秒以线性效果2秒完成) 完整代码如下: Document *{ margin: 0px; padding: 0px; list-style: none; } body{ background-color: black; perspective: 800px; } ul{ position: relative; width: 200px; height: 300px; box-shadow: 0px 0px 5px 1px gold; margin: 200px auto; transform-style: preserve-3d; } ul li{ position: absolute; border: 1px dashed gold; width: 200px; height: 300px; transform-origin:0px center; /* background-color: white; */ } ul:hover{ transform:rotateX(30deg); transition:all 2s; } ul:hover li:nth-child(1){ transform:rotateY(-180deg); transition:all 2s .5s; } ul:hover li:nth-child(2){ transform:rotateY(-160deg); transition:all 2s .8s; } ul:hover li:nth-child(3){ transform:rotateY(-150deg); transition:all 2s 1s; } ul:hover li:nth-child(4){ transform:rotateY(-140deg); transition:all 2s 1.2s; } ul:hover li:nth-child(5){ transform:rotateY(-130deg); transition:all 2s 1.4s; }简单的css3翻书动画效果就实现啦,对你有帮助的话点个赞支持下哦~ |
CopyRight 2018-2019 实验室设备网 版权所有 |