css怎么实现翻转效果

藏色散人
发布: 2023-01-04 09:34:09
原创
12374 人浏览过

css实现翻转效果的方法:首先创建一个演示方块,并为其添加transition和transform属性;然后将transition属性添加到需要翻转的p上;最后添加perspective和transform-style属性即可。

css怎么实现翻转效果

本文操作环境:Windows7系统、HTML5&&CSS3版,DELL G3电脑

作为前端开发人员的必修课,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层p嵌套

// html部分 
登录后复制
// 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层p,鼠标 hover 到外层时,内层p添加翻转 transform: rotateY(180deg)

2.注意将 transition 属性添加到需要翻转的p上,而不是 hover 时

3.外层p添加 perspective 和 transform-style 属性,最终实现3D翻转效果

推荐学习:《css视频教程

以上是css怎么实现翻转效果的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!