如何用 CSS 制作动画圆环图形图标

如何用 CSS 制作动画圆环图形图标
wanghao
wanghao
459
阅读
0
评论
2021年08月05日01:08:40 0 459

CSS 边框一直以来被认为是一种特殊属性,可以创造性地使用它来创建各种 UI 元素,除了边框——比如笔画、V 形或箭头。

在本文中,我们将看看如何使用它来创建一个有边框的动画圆环图图标,它的最终效果如下所示:


用 CSS 边框创建甜甜圈

首先,让我们创建一个只有一种颜色的甜甜圈。为此,我设置了以下规则,在屏幕中创建一个带有红色边框的 50x50px 黑色矩形。

.doughnut {

background: #000;

display: block;

width: 50px;

height: 50px;

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

border: 10px solid red;

}


然而,正如你所看到的,这看起来并不像一个甜甜圈。为了解决这个问题,并创建一个笔触,添加一个具有透明背景的 100% 边框半径:

.doughnut {

    ...

    border-radius: 100%;

}


将段添加到甜甜圈

要添加不同的段,你可以使用单独的规则更改边框每一侧的颜色:

.doughnut {

    ...

    border: 10px solid #FF6188;

    border-top: 10px solid #A9DC62;

    border-left: 10px solid #78DCDC;

    border-right: 10px solid #FFD862;

}


玩转段和旋转

为了使效果漂亮,你还可以添加一点旋转动画。通过添加一点动画,你还可以将其变成圆形加载指示器:

@keyframes loading {

    0%   { transform: translate(-50%, -50%) rotate(25deg);  }

    100% { transform: translate(-50%, -50%) rotate(385deg); }

}

.doughnut {

transform: translate(-50%, -50%) rotate(25deg);

/* Add animation if you want to turn it into a loading indicator */

animation: loading 1s ease-in-out infinite;

}

效果如下:


你还可以通过简单地将相邻边框设为相同颜色来创建更大的段:

.doughnut-01 {

/* default values */

}

.doughnut-02 {

border-left: 10px solid #78DCDC;

border-bottom: 10px solid #78DCDC;

}

.doughnut-03 {

border-left: 10px solid #FF6188;

border-right: 10px solid #FF6188;

}

效果如下:


使用不同的边框样式

你还可以使用 border-style 属性来创建不同风格的甜甜圈。 一些例子是:

.doughnut-01 { border-style: dotted; }

.doughnut-02 { border-style: double; }

.doughnut-03 { border-style: groove; }

.doughnut-04 { border-style: ridge; }

效果如下:


把所有东西放在一起

最后,你还可以使用框阴影为其添加额外的边框。 你可以根据需要添加任意数量的 box-shadow,你只需要用逗号分隔不同的值。

.doughnut {

box-shadow: inset 0 0 10px 0px #21212191, 0 0 0 2px #212121;

}

将所有内容放在一起,这是构成元素的最后一组规则:

.doughnut {

display: block;

border-radius: 100%;

width: 50px;

height: 50px;

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%) rotate(25deg);

border: 10px solid #FF6188;

border-top: 10px solid #A9DC62;

border-left: 10px solid #78DCDC;

border-right: 10px solid #FFD862;

box-shadow: inset 0 0 10px 0px #21212191, 0 0 0 2px #212121;

}


总结

总之,CSS 边框可以以各种创造性的方式使用。 如你所见,即使你已经用完给定元素的边框属性,你仍然可以使用 box-shadow 在其上添加额外的边框。 

为了使这个图标更加可定制,它也可以替换为 SVG 路径。

你是否已经以创造性的方式使用过 CSS 边框? 请在留言区中告诉我! 感谢你的阅读,快乐编程! 


打赏 点赞(0)
weinxin
投诉&咨询
文章名+链接地址,发送到此微信:tourism52
历史上的今天
03月
25
用JS写Windows计算器 菜鸟教程

用JS写Windows计算器

今天给大家分享下如何用JS写一个windows简易计算器,虽然电脑上都自带计算器,不过我们自己写一个简单的计算器实例,不仅可以用起来更方便,还可以提升写代码的乐趣,何乐而不为呢! ...
java,编程技巧,样板,代码 菜鸟教程

Java编程技巧之样板代码

前言北宋科学家沈括在《梦溪笔谈》第十八卷《技艺》中这样描述“活字印刷术”:庆历中,有布衣毕昇,又为活版。其法用胶泥刻字,薄如钱唇,每字为一印,火烧令坚……若止印三、二本,未为简易;...
浏览器,对象,(bom),定时器 菜鸟教程

浏览器对象(BOM)---定时器

嗯,今天实践JavaScript(BOM)---定时器:好了,先啰嗦一下额,不想听的话,就直接滑到底部下载源码玩吧。setTimeout()方法,只执行一次。提示: 1000 毫秒...
XQuery,FLWOR,HTML,XQuery,FLWOR,HTML,XML,实例,文档, 菜鸟教程

XQuery FLWOR + HTML

XQuery FLWOR + HTML XML 实例文档 我们将在下面的例子中继续使用这个 books.xml 文档(与上一节中的文件相同)。 在您的浏览器中查看 books.xm...

评论列表 共有 0 条评论

暂无评论