网站首页 > 技术文章 正文
其实这段代码是从elementui的css中拿出来的 发现很实用,可以借鉴下,在请求后台的时候,可以用幕布+绝对布局居中的转圈来提醒用户正在请求后台,防止用户多次点击。
附上代码:
<!DOCTYPE html>
<html>
<head>
<style>
@keyframes loading-rotate {
to {
transform: rotate(1turn)
}
}
@keyframes loading-dash {
0% {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0
}
50% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -40px
}
to {
stroke-dasharray: 90, 150;
stroke-dashoffset: -120px
}
}
.path {
-webkit-animation: loading-dash 1.5s ease-in-out infinite;
}
.out{
-webkit-animation: loading-rotate 2s linear infinite;
}
</style>
</head>
<body>
<svg class="out" style="width:50px;height:50px;" viewBox="25 25 50 50">
<circle cx="50" cy="50" r="20" fill="none" stroke="black" fill="red" class="path"/>
</svg>
</body>
</html>
SVG就像是我们的显示器屏幕,viewBox就是截屏工具选中的那个框框,最终的呈现就是把框框中的截屏内容再次在显示器中全屏显示
viewBox参数
viewBox="x, y, width, height" // x:左上角横坐标,y:左上角纵坐标,width:宽度,height:高度
代码稍微修正下,增加viewBox控制
<svg width="200" height="150" viewBox="0,0,400,300" style="border:1px solid #cd0000;"> <rect width="200" height="150" fill="#cd0000" /> </svg>
rect同样与svg尺寸一直,但是显示出来的大小确等比缩小了一倍
试着简单的理解:强制把分辨率提升到400*300 ,那么原来的svg尺寸是200*150,相对于400*300就等比缩小一倍了
同样的,如果把viewBox缩小一倍,那么反之svg会增加一倍
<svg width="200" height="200" viewBox="0,0,100,100" style="border:1px solid #cd0000;"> <rect width="200" height="200" fill="#cd0000" /> </svg>
cx 和 cy 属性定义圆点的 x 和 y 坐标。如果省略 cx 和 cy,圆的中心会被设置为 (0, 0)
猜你喜欢
- 2024-10-30 基于Web的“戳泡泡”解压小游戏(戳泡泡用英文怎么说)
- 2024-10-30 暗夜发光,独自闪耀,网页暗黑模式下的特效和动效,CSS3实现
- 2024-10-30 HTML多行代码搞定微信8.0的炸裂特效!C/C++怎么能输
- 2024-10-30 Nick_N像素画教程:像素画动画缓入缓出
- 2024-10-30 CSS动画制作(css动画制作电池充电效果)
- 2024-10-30 前端系列:在线认识贝塞尔曲线的运动轨迹(中文版网站)
- 2024-10-30 CSS3 transition过渡效果(css3过度效果)
- 2024-10-30 15个CSS 常见错误,请一定要注意避免
- 2024-10-30 css动画之transition(css transition动画)
- 2024-10-30 daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库
- 最近发表
-
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
