所有分类
  • 所有分类
  • 后端开发
CSS新潮潮:玩转三角边框动画,绝不尴尬

CSS新潮潮:玩转三角边框动画,绝不尴尬

实现上述炫彩三角边框动画。基于这样一个图形再实现一个小一号的三角形是比较麻烦的,我们相当于要实现这样一个镂空三角形图形,示意图如下:clip-path,就能得到一个三角形边框图形,啥意思呢,我这里制作了一个动图示意:切割后的图形,它们的效果

CSS新潮潮:玩转三角边框动画,绝不尴尬

之前碰到了个老朋友,聊起来发现他对svg三角边框动态图特别感兴趣,还打算自己学用css弄出来。这个动画真的超赞,突然让我想起那篇讲css边框动画的文章,真的很像!那么今天我们就来聊聊怎么用css做这个很酷的三角边框动态效果,说不定就能学到些新知识~

CSS新潮潮:玩转三角边框动画,绝不尴尬

利用角向渐变实现主体动画

首先,咱们用角向渐变conic-gradient,就能轻松做出动画形状了接着,就在网页上加个@Property属性,这样它就会动起来要是觉得CSS @Property有点难理解,担心兼容问题的话,也没关系,咱们还能用伪元素来模仿这个形状,只要transform:rotate()搞一下,说不定也能达到同样的效果~

基于矩形图形得到三角形

@property --angle {
  syntax: '';
  inherits: false;
  initial-value: 0deg;
}
div {
    width: 260px;
    height: 260px;
    background: conic-gradient(from var(--angle), hsl(162, 100%, 58%), hsl(270, 73%, 53%), hsl(162, 100%, 58%));
    animation: rotate 3s infinite linear;
}
@keyframes rotate {
    to {
        --angle: 360deg;
    }
}

接着,咱们要把矩形换成三角形了。外头那个三角形用剪切路径就能轻松解决,不难?里面那部分需要挖空的话,就在中间加些乱七八糟的东西,使其跟背景的颜色相匹配即可。

CSS新潮潮:玩转三角边框动画,绝不尴尬

寻找真正能够镂空中间的方式

div {
    width: 260px;
    height: 260px;
    background: conic-gradient(from var(--angle), hsl(162, 100%, 58%), hsl(270, 73%, 53%), hsl(162, 100%, 58%));
    animation: rotate 3s infinite linear;
  + clip-path: polygon(0 100%, 100% 100%, 50% 0);
}

其实,要做出中间镂空的图形真的不简单!最简单的办法就是用个小图盖在大图上面,但这样中间的部分就看不见了。看看这里,用mask和clip-path配合起来,就能轻松划出中间空白的三角形。

CSS新潮潮:玩转三角边框动画,绝不尴尬

利用drop-shadow添加光影

CSS新潮潮:玩转三角边框动画,绝不尴尬

做完那个三角形镂空图案以后别忘了加点影子效果,不然看起来会没那么立体。但是注意,要用clip-path切出的形状来添加,可不是乱来的。那咱们再新建一层,然后把影子效果放在容器上面。记住,只要有位置放,咱都能控制影子效果的位置和大小啦~

使用clip-path剪切环形三角形

CSS新潮潮:玩转三角边框动画,绝不尴尬

哦对了,clip-path可不仅仅是能随便剪外头的三角形或者里头的那些玩意儿人家还能帮咱们把图形剪成环绕的三角形!要剪出圆形的话其实也不难,弄清楚几个要点就好了。比如说,要用这个神奇的工具剪一个环绕的三角形,只需要用上7个点就OK~

CSS新潮潮:玩转三角边框动画,绝不尴尬

不用怕!只要明白每个环节,掌握好CSS那些个神奇属性和技巧,哪怕是复杂的边框动效也是小菜一碟了!

CSS新潮潮:玩转三角边框动画,绝不尴尬

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/04/13010.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?