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) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:05月03日

热门专题

安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
天麻的功效与作用吃法|天麻的功效与作用,天麻的功效与作用吃法,天麻炖什么治头痛最好,天麻的功效与作用禁忌,天麻多少钱一斤,天麻的功效与作用吃法及禁忌,天麻怎么吃效果最好,天麻粉的功效与作用,天麻怎么吃
天麻的功效与作用吃法
云南综合高中|云南综合高中
云南综合高中
昆明网站建设|昆明网站建设,昆明网站开发,昆明网站建设公司,昆明网站建设价格,昆明网站设计,昆明网站制作,网页设计,高端网站建设,高端网站设计
昆明网站建设
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部