前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >纯CSS 神奇的边框特效

纯CSS 神奇的边框特效

作者头像
德育处主任
发布2022-04-17 12:25:50
2.1K0
发布2022-04-17 12:25:50
举报

本文简介

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

阅读本文需要 css 基础。要了解 border-radius 的用法。如果不懂的请先自行查阅 border-radius 的文档。

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

https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/069026dff6544ac18a1b2fbde4cead2e~tplv-k3u1fbpfcp-zoom-in-crop-mark:1304:0:0:0.awebp?

这是一个会动的 div

公式

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

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

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

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

02.png
02.png

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

注意后半段的顺序(蓝色,绿色,绿色,蓝色)。

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

编码

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

代码语言:javascript
复制
<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 都是根据上面的公式来计算。

代码仓库

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022/03/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文简介
  • 公式
  • 编码
  • 代码仓库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档