CSS100Day(14)-3D卡片翻转
443 字
2 分钟
CSS100Day(14)-3D卡片翻转
设计简介
本次练习主要理解3D效果:
-
知识点1:父元素设置
perspective,是视口到元素距离,设置此后配合rotateX、rotateY、rotateZ就可以生效了 -
知识点2:
backface-visibility是在父元素设置perspective后,本来元素是正反面都显示,该属性设置hidden后仅正面显示了,例如下面的自行车和直升机 本来是重合的,但是hover翻转后仅看得到一个元素,因为两个元素重合,需要将返回给hidden掉
效果展示
实现代码和步骤
HTML部分
HTML部分如下
<div class="dis"> <div class="frame"> <div class="card" onclick="void(0);"> <div class="flip"> <div class="front"> <img src="https://100dayscss.com/codepen/bycicle.svg" /> </div> <div class="back"> <img src="https://100dayscss.com/codepen/helicopter.svg" /> </div> </div> </div> </div></div>CSS部分
注意2个关键点即可
.dis { width: 400px; height: 400px; overflow: hidden;}
.frame { position: relative; width: 400px; height: 400px; box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.3); background: #4b4841;}
.card { position: absolute; width: 320px; height: 180px; top: 110px; left: 40px; perspective: 800px;
&:hover .flip { transform: rotateX(180deg); box-shadow: 8px -10px 15px 0 rgba(0, 0, 0, 0.5); }
.flip { width: 100%; height: 100%; transition: all 1s ease-in-out; box-shadow: 8px 10px 15px 0 rgba(0, 0, 0, 0.5); }
.front, .back { position: absolute; inset: 0; background: #ffce4e; backface-visibility: hidden; border-radius: 3px; overflow: hidden; text-align: center; }
.front { transform: rotateX(0); display: grid; place-content: center; }
.back { transform: rotateX(180deg); display: grid; place-content: center; }}分享给其他人
如果该文章对您有帮助,欢迎分享给其他人阅读!
复制链接
相关文章
推荐筛选
1
CSS100Day(18)-3D实现弹性元素
设计灵感 3D实现弹性元素
2
CSS100Day(6)-卡片练习和绝对定位圆圈
设计灵感 头像外两个嵌套圆圈绝对定位技巧,以及利用filter实现hover加深
3
CSS100Day(17)-svg实现彭罗斯三角
设计灵感 三个svg实现彭罗斯三角
4
CSS100Day(10)-SVG旋转动画
设计灵感 巧妙应用SVG的
5
CSS100Day(12)-hover出Tooltip技巧
设计灵感 巧妙使用隐藏伪元素解决缝隙hover效果丢失问题
随机文章
随机推荐