用纯CSS怎样做一个酷炫的电池充电特效
Admin 2022-05-25 群英技术资讯 681 次浏览
我们知道构成前端的三大语言有:html
、css
和js
,其中最为神秘的便是css
,为什么这么说呢?自从动画、过度等属性的出现,可以说只有你想不到,就没有做不到~
特效:电池充电特效,整体特效可在最上方看到
要想完成这个特效,就必须要知道一些前置的属性,简单介绍一下吧:
animation 、transform 和 filter 这三个就不多做介绍了,基本上所有的动画都会用到这两个属性。
box-shadow:阴影
用法:box-shadow: h-shadow v-shadow blur spread color inset;
border-radius:设置圆角
可设置四个值,与 margin
、padding
的使用方法一样
也就是每个半径的四个值的顺序是:左上角
,右上角
,右下角
,左下角
。
linear-gradient():渐变,用于创建一个表示两种或多种颜色线性渐变的图片。
用法:background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
我们设置两个 div ,一个座位底部的容器,上面弄个小盖子,主要通过border-radius
设置下周边的圆角,并且加入box-shadow
加入阴影,增强立体感
这里可以使用定位布局,通过top
来控制水的位置,top
的值越大水越低,top
的值越小水越高
我们把水位设置为80%,同时通过linear-gradient() 来设置水的一个渐变色:
那么动画就很简单了,只需要控制 top
值就会造成水的上升,像这样
这时需要注意的点是:
filter: hue-rotate();
这个属性控制.content{ //容器 border-radius: 15px 15px 5px 5px; &::after{ position: absolute; top: 80%; background: linear-gradient(to bottom, #7abcff 0%, #00BCD4 44%, #2196F3 100%); border-radius: 0px 0px 5px 5px; box-shadow: 0 14px 28px rgba(33, 150, 243, 0), 0 10px 10px rgba(9, 188, 215, 0.08); animation: change 10s linear infinite; filter: hue-rotate(90deg); } } @keyframes change { 30% { box-shadow: 0 14px 28px rgba(0, 150, 136, 0.83), 0px 4px 10px rgba(8, 117, 134, 0.4); } 50%{ filter: hue-rotate(60deg); } 80% { top: 20%; border-radius: 0 0 5px 5px; box-shadow: 0 14px 28px rgba(6, 136, 153, 0.2), 0 10px 10px rgba(12, 10, 112, 0.08); } 100% { top: 0%; filter: hue-rotate(0deg); border-radius: 15px 15px 5px 5px; box-shadow: 0 14px 28px rgba(7, 93, 104, 0), 0 10px 10px rgba(31, 3, 68, 0.4); } }
这个特效相信大家都见过,其思想就是在上面的大概位置上设置背景颜色,用相同的底色覆盖,
然后用到translate
这个属性,通过转化x
、y
值,然后通过不停的旋转角度,至于数值为啥是这个值,我也搞不清楚。。。有知道的小伙伴可以在评论区留言.
p{ //复盖 border-radius: 45% 47% 44% 42%; transform: translate(-50%, 0); animation: move 10s linear infinite; } @keyframes move { 100% { transform: translate(-50%, -160px) rotate(720deg); } }
此时,我们发现这个效果并不太真实,进行多覆盖两个,改变旋转值和border-radius
的值来设置水面不重叠,但又有差距的效果
p{ &:nth-child(2){ border-radius: 38% 46% 43% 47%; transform: translate(-50%, 0) rotate(-135deg); } &:nth-child(3){ border-radius: 42% 46% 37% 40%; transform: translate(-50%, 0) rotate(135deg); } }
此时的效果就非常真实了
不得不说css
真的很神奇,最神秘的莫过于css
,喜欢的点个赞??支持下吧(● ̄(エ) ̄●)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在css中,可以利用position定位属性使div固定,该属性用于规定元素的定位类型,当属性的值为“fixed”时生成固定定位元素,元素相对于浏览器位置固定不变,语法为“div{position:fixed;}”。
我们在设计网站页面时,经常需要对文字或者图片等等进行居中处理,那么对于CSS中的各种居中要如何实现?下面是具体的实现代码,希望对在学习CSS/HTML的朋友有所帮助。
这篇文章主要介绍了用CSS实现图片的3D凹凸感(凸出镜框外或凹陷镜框里),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本章给大家介绍html5如何利用canvas实现图片转素描效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
大型项目往往会使用构建工具搭建工程。构建工具允许将css样式切分为更加精细的模块。冲突的类名往往发生在不同的css模块文件中,只需要保证构建工具在合并样式代码后不会出现类名冲突即可。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008