关于前端:纯CSS-神奇的边框特效

3次阅读

共计 982 个字符,预计需要花费 3 分钟才能阅读完成。

本文简介

点赞 + 关注 + 珍藏 = 学会了

浏览本文须要 css 根底。要理解 border-radius 的用法。如果不懂的请先自行查阅 border-radius 的文档。

本期要做的特效如下图所示,请急躁看,这是个 gif 动图

这是一个会动的 div

公式

原理其实很简略,div 本来是方的,只需改成圆形即可。

所以咱们会用到 border-radius 这个属性。

border-radius 能够让元素变成圆角,这取决于你所设置的值。

要想让 4 个角都变成大小不一的圆角,且过渡顺滑,须要应用以下公式:

雷同的色彩加起来的和等于 100,角与角之间的过渡就会变得比拟顺滑。

留神后半段的程序(蓝色,绿色,绿色,蓝色)。

比方 border-radius: 60% 40% 59% 41% / 55% 36% 64% 45%;

编码

这里我还会用了 CSS 动画 ,让元素始终不规则的动起来。

<style>
.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%;}
}
</style>

<div class="box" id="box"></div>

动画里每次批改 border-radius 都是依据下面的公式来计算。

代码仓库

  • ⭐边框动画 仓库

举荐浏览

  • 👍《纯 CSS 实现『斑马纹理投影文字』》
  • 👍《纯 CSS:动静突变背景【一分钟学会】》
  • 👍《视差特效的原理和实现办法》
  • 👍《纯 css 实现 117 个 Loading 成果》

点赞 + 关注 + 珍藏 = 学会了

正文完
 0