用纯CSS3如何制作最基本的翻转效果,代码是什么
Admin 2022-06-27 群英技术资讯 336 次浏览
作为前端开发人员的必修课,CSS3能带我们完成许多基本动效,本期我们将用CSS3实现hover翻转效果~
第一步非常简单,我们简单画1个演示方块,为其 添加transition和transform属性 :
// 本示例均使用Sass语法 .block { width: 200px; height: 200px; background: brown; cursor: pointer; transition: 0.8s; &:hover { transform: rotateY(180deg); } }
我们看一看这时候的效果:
这里 需要注意 的是: transition属性要写在.block上而不是hover上 ,如果只在hover上写transition,则鼠标移出时并没有transition的过渡效果,如果我们只将transition写在hover上:
第二步比较关键:我们不难发现始终在1个平面上翻转,不够有立体感,因此我们需要稍加改变思路—— 用2层div嵌套
// html部分 <div class="block"> <div class="block-in"></div> </div>
// CSS部分 .block { width: 200px; height: 200px; cursor: pointer; &-in { background: brown; height: 100%; transition: 0.8s; } &:hover .block-in { transform: rotateY(180deg); } }
此时效果没变,如下:
这个时候 关键的1步 来了:我们需要 给外层添加perspective和transform-style属性 ,为整个动画增添3D变形效果:
.block { width: 200px; height: 200px; cursor: pointer; /* 3D变形 */ transform-style: preserve-3d; -webkit-perspective: 1000; -moz-perspective: 1000; -ms-perspective: 1000; perspective: 1000; &-in { background: brown; height: 100%; transition: 0.8s; } &:hover .block-in { transform: rotateY(180deg); } }
最终实现效果如下:
最终我们 总结一下思路 :
1.建立内外2层div,鼠标 hover 到外层时,内层div添加翻转 transform: rotateY(180deg)
2.注意将 transition 属性添加到需要翻转的div上,而不是 hover 时
3.外层div添加 perspective 和 transform-style 属性,最终实现3D翻转效果
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了鼠标滚轮事件&Mac触控板双指事件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
将原本的鼠标指针样式,修改成自己想要的效果,并且添加上一些特殊的交互效果。修改鼠标样式首先,第一个问题,我们可以看到,上图中,鼠标指针的样式被修改成了一个圆点:正常而言应该是
这篇文章主要介绍了CSS实现图片背景填充的六边形的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文给大家分享一百种方法帮助大家解决CSS改变图片颜色,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
flex布局是常用的CSS3布局方式,之前我们也有了解过flex布局,这篇文章主要给大家介绍flex布局实现每行固定数量及自适应的效果,实现效果和代码如下,感兴趣的朋友可以参考。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008