本文简介
点赞 + 关注 + 收藏 = 学会了
阅读本文需要 css
基础。要了解 border-radius
的用法。如果不懂的请先自行查阅 border-radius
的文档。
本期要做的特效如下图所示,请耐心看,这是个 gif动图 :
这是一个会动的 div
。
公式
原理其实很简单,div
原本是方的,只需改成圆形即可。
所以我们会用到 border-radius
这个属性。
border-radius
可以让元素变成圆角,这取决于你所设置的值。
要想让4个角都变成大小不一的圆角,且过渡顺滑,需要使用以下公式:
文章图片
【纯CSS 神奇的边框特效】相同的颜色加起来的和等于100,角与角之间的过渡就会变得比较顺滑。
注意后半段的顺序(蓝色,绿色,绿色,蓝色)。
比如 border-radius: 60% 40% 59% 41% / 55% 36% 64% 45%;
。
编码
这里我还会用了 CSS 动画
,让元素一直不规则的动起来。
.box {
width: 600px;
height: 600px;
background: #5753C9;
background-image: linear-gradient(-225deg, #3D4E81 0%, #5753C9 48%, #6E7FF3 100%);
transition: border-radius 3s linear;
border-radius: 60% 40% 59% 41% / 55% 36% 64% 45%;
animation: borderAnimation 50s infinite;
}@keyframes borderAnimation
{
0%{border-radius: 60% 40% 59% 41% / 55% 36% 64% 45%;
}
25%{border-radius: 40% 60% 37% 63% / 42% 56% 44% 58%;
}
50%{border-radius: 50% 50% 39% 61% / 61% 69% 31% 39%;
}
75% {border-radius: 59% 41% 68% 32% / 48% 52% 48% 62%;
}
}
动画里每次修改
border-radius
都是根据上面的公式来计算。代码仓库
- ?边框动画 仓库
推荐阅读
- 《纯CSS实现『斑马纹理投影文字』》
- 《纯CSS:动态渐变背景【一分钟学会】》
- 《视差特效的原理和实现方法》
- 《纯css实现117个Loading效果》
点赞 + 关注 + 收藏 = 学会了