网站首页 > 知识剖析 正文
作为一名前端工程师,我们会经常使用到CSS去实现一些网页样式或动画效果。
但是有一些动画效果往往又会比想象中的难实现。比如UI做了一些炫酷的触控动画,看起来很漂亮,但是作为前端开发的我,看到就头大。
上周公司的一个项目要实现一个需求:鼠标移动到按钮上,按钮的颜色自动改变。
我一想,这还不简单?直接使用 :hover 来实现了这个效果,嘿~小小需求,拿捏!
然后产品说,这个效果太硬了!
我寻思着,这动画该咋做呢?我想到了直接用git来实现,但是加载太慢了,会影响性能。
哦对了!CSS好像还可以制作动画呢!
但是具体怎么实现呢?
可能也是自己也对CSS的 transition 属性不够了解,然后我就在GitHub上浏览了很多,其中有一个题目吸引了我,:CSS Animation 。
这上面会不会有我需要的那种效果啊,于是抱着试一试的心态就点进去了。
点开来后就是看到目录,然后我就慢慢的往下滑去寻找自己需要的关于tranform的案例。
滑到下面的时候发现他的目录里面有一个特别符合我需求的案例,这是一个比较复杂的hover效果。
于是我就跟着操作:
1、使用 CSS 中的 transform 来实现上面的显示和隐藏。对 twitter icon 进行绝对定位,设置其 left 和 top
.icon { position: absolute; left: 0.75em; top: 0.75em; }
2、鼠标悬停时添加 transform 属性将其移出 button。在外层的容器上添加overflow: hidden 就可以将 twitter icon 隐藏了。
a:hover .icon { transform: translateY(3em); }
3、如果不添加 transition,元素就会突然消失,效果并不好。在这个例子里,button 里的元素都是 span,所以可以写一条 transition 然后应用到所有的 span 上。span 的状态发生变化时都会使用这条 transition。
span { transition: transform 0.4s cubic-bezier(0.72, -0.61, 0.25, 1.51); }
原来如此,这个transform 还能这样使用!
做完这个项目后,我又重新看了好几遍这个CSS animation开源项目,这个CSS动画指南不仅介绍如何制作复杂的动效还有丰富的示例,教会你如何将 CSS 动画应用到你的项目中。在整个过程中,我觉得自己非常轻松的就完成了这个原本让我感到很难的CSS动画。
目前我的项目也完成了,我还是会多去看看,因为它真的很全面,也很详细,我也会跟我一起做前端的同事去分享这款开源项目。
大家有发现相似的产品,也别忘了我,大家一起发现更多能够帮助我们提高工作效率的产品。
- 上一篇: CSS 动画: 提升网站动态效果 制作网页实现动态效果
- 下一篇: css动画详解 css动画制作
猜你喜欢
- 2024-11-08 几个纯CSS实现的loading动画 css loading动画
- 2024-11-08 css3中动画animation中的steps()函数
- 2024-11-08 居然可以通过动画快速学习 css 要运用css动画需要运用什么规则
- 2024-11-08 使用CSS的animation-direction属性让动画缓慢回弹
- 2024-11-08 现代CSS:纯 CSS 实现飘雪动画效果
- 2024-11-08 超干货 CSS3/SVG Loading动画集合
- 2024-11-08 CSS 动画分类 css动画代码大全
- 2024-11-08 详解CSS3中的transition:平滑过渡与动画效果
- 2024-11-08 30种CSS3动画特效按钮 css3动画教程
- 2024-11-08 现代CSS:纯 CSS 实现路径动画 css url 路径
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)