css - 我想要一个类似于 HTML5 的视频加载器的 CSS3 加载旋转动画
问题描述
我现在有一些代码,但感觉不像 HTML5 的视频元素加载器那样“自然”。
如何微调这个 CSS3 加载器,使其更类似于视频元素的加载器?
现在我有 2 个元素不断旋转,中间有短暂的延迟。
我只是不知道我是否需要提高这个延迟,或者需要一些更复杂的贝塞尔动画:
.loader,
.loader:before,
.loader:after {
border-radius: 50%;
}
.loader {
color: #555555;
margin: 15px auto;
position: relative;
width: 10em;
height: 10em;
box-shadow: inset 0 0 0 0.4em;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
}
.loader:before,
.loader:after {
position: absolute;
content: '';
}
.loader:before {
width: 5.2em;
height: 10.4em;
background: black;
border-radius: 10.4em 0 0 10.4em;
top: -0.2em;
left: -0.2em;
-webkit-transform-origin: 5.2em 5.2em;
transform-origin: 5.2em 5.2em;
-webkit-animation: load 1.2s infinite ease 0.2s;
animation: load 1.2s infinite ease 0.2s;
transition-timing-function: cubic-bezier(1.0, 0.5, 1.0, 0.1);
}
.loader:after {
width: 5.2em;
height: 10.4em;
background: black;
border-radius: 0 10.4em 10.4em 0;
top: -0.2em;
left: 5.0em;
-webkit-transform-origin: 0.0em 5.2em;
transform-origin: 0.0em 5.2em;
-webkit-animation: load 1.2s infinite ease;
animation: load 1.2s infinite ease;
transition-timing-function: cubic-bezier(0.1, 1.0, 0.5, 1.0);
}
@-webkit-keyframes load {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.loader .label {
font-size: 16px;
position: absolute;
top: 110%;
left: 50%;
transform: translateX(-50%);
z-index: 1;
display: block;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor=black>
<h2>How To Create A Loader</h2>
<div class="loader"><div class="label">Loading...</div></div>
</body>
</html>
例如,这是我正在寻找的一个简单的微调器(它也改变了它的颜色,但它不在这个问题中):
材料设计也使用它作为加载器,这是一个 JS + CSS 解决方案,但我需要没有 SVG(纯 CSS3)的东西:https ://www.jqueryscript.net/demo/Material-Design-Style-Loading-Spinner-with- jQuery-CSS3/
解决方案
推荐阅读
- python - 将值汇总到由张量流中相同形状的张量指定的桶/箱中
- php - laravel livewire 中的数组编辑
- firebase - 如何在flutter中将文件从firebase下载到本地手机存储?
- html - Django:在 iframe 中显示 PDF 文档或嵌入不起作用
- azure-sql-database - 无法使用 Databricks 从 Azure 突触读取主密钥错误
- ios - 在 iOS 平台上使用 ReplayKit 在接收端共享屏幕视频质量很差
- javascript - 如何使 JSON.parse() 将所有数字视为 BigInt?
- git - svn2git - 将主干代码迁移到主分支而不是 git 中的主分支
- python - Python:PerformanceWarning:将 object-dtype 数组添加/减去 TimedeltaArray 未矢量化
- database - 查询 Cloudant 视图时,“keys”参数是否有限制?