首页 > 其他分享 >svg+css实现带灰色背景的loading加载动画组件

svg+css实现带灰色背景的loading加载动画组件

时间:2023-12-06 10:46:28浏览次数:29  
标签:200 loading svg width stroke rotate dashoffset css

<template>
  <svg
    class="load"
    viewBox="25 25 50 50"
    :style="{ width: loadWidth, height: loadWidth }"
  >
    <circle class="loading_bg" cx="50" cy="50" r="20" fill="none" />
    <circle class="loading" cx="50" cy="50" r="20" fill="none" />
  </svg>
</template>
<script>
export default {
  props: {
    width: {
      type: [Number, String],
      default: 18,
    },
  },
  computed: {
    loadWidth() {
      const isNumber = /^\d+$/.test(this.width);
      return isNumber ? `${this.width}px` : this.width;
    },
  },
};
</script>
<style>
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 130, 200;
    stroke-dashoffset: -50;
  }
  100% {
    stroke-dasharray: 130, 200;
    stroke-dashoffset: -125;
  }
}
.loading {
  stroke: #ffffff;
  stroke-width: 3;
  fill: none;
  animation: dash 1.5s linear infinite;
}
.loading_bg {
  stroke: var(--loadingBgColor);
  stroke-width: 3;
  fill: none;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.load {
  animation: rotate 1.5s linear infinite;
}
</style>

 

标签:200,loading,svg,width,stroke,rotate,dashoffset,css
From: https://www.cnblogs.com/coolestcode/p/17878991.html

相关文章

  • CSS结构伪类选择器之否定伪类:not
    结构伪类选择器是针对HTML层级结构的伪类选择器。常用的结构化伪类选择器有::root选择器、:not选择器、:only-child选择器、:first-child选择器、:last-child选择器、:nth-child选择器、:nth-child(n)选择器、:nth-last-child(n)选择器、:nth-of-type(n)选择器、:empty选择器......
  • CSS按钮样式之button标签与input type=button的区别
    原文链接:1、https://www.cnblogs.com/weihanli/p/5162828.html         2、https://www.cnblogs.com/smile6542/p/11968175.html   如果想要在页面上表示一个显示文本的按钮推荐input[type=”button”]方式,如果想要呈现一个图片内容或内容更丰富的按钮推......
  • 记一次由于loading未配置导致的bug及解决方案
    在做项目的时候,由于一开始没有对loading做统一的配置,每个成员根据自己的需要去开启关闭loading,导致在页面请求比较多,网络比较差的时候,loading容易开开关关闪烁,导致用户误操作;然后我就为loading做了个优化,首先是在根组件App.vue增加了一个loading,在store里面count =0变......
  • CSS简介及常用样式
    一、CSS简介CSS:层叠样式表(英文全称:CascadingStyleSheets):是一种用来表现HTML样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。二、CSS选择器2.1基本选择器(三种)1.标签选择器<style>p{font-size:20px;......
  • 02.css
    1.标准的CSS盒子模型及其和低版本的IE盒子模型的区别?标准(W3C)盒子模型:width =内容宽度(content)+border+padding+margin低版本IE盒子模型: width =内容宽度(content+border+padding)+margin区别:标准盒子模型盒子的height和width是content(内容)的宽高,而IE盒子模型盒子......
  • 纯CSS实现炫酷背景霓虹灯文字效果
    如图所示,这是一个很炫酷的霓虹灯文字效果且背景炫酷,就像很多个灯光闪烁着不同的颜色。本次文章将解析如何用CSS代码实现这个效果,根据上面的动图分析出我们要实现的几个主要功能点:整个背景中有平均分布的小点衬托中心区域文字闪烁效果如同霓虹灯一样文字背景呈多个平均分布的......
  • vue3中css使用js中的变量
    <scriptsetuplang="ts">import{SoundOutlined}from'@ant-design/icons-vue'constprops=defineProps({title:{type:String,default:''},color:{type:String,default:'#000'}......
  • streamlit 展示自定义 html 以及 css
    目前探索出来的有效方法:style="""<style>.memo-box{border:1pxsolid#ccc;padding:10px;margin-bottom:20px;}.tag{font-size:12px;color:#88......
  • 防御式CSS—设置组件间距
    我们开发人员需要考虑不同的内容长度。这意味着,应该向组件添加间距,即使它看起来不需要。在这个例子中,我们在右侧有一个章节标题和一个操作按钮。目前,它看起来不错。但是让我们看看当标题更长时会发生什么。注意到文本离操作按钮太近了吗?你可能会想到多行包装,但我会在另一节谈......
  • 防御式CSS—网格布局中的列自动分配
    当使用CSSgridminmax()函数时,重要的是要决定使用auto-fit或auto-fill关键字。如果使用不当,可能会导致意想不到的结果。当使用minmax()函数时,auto-fit关键字将扩展网格项以填充可用空间。而auto-fill将保留可用空间,而不改变网格项的宽度。也就是说,使用auto-fit......