使用transform-origin 实现loading效果
没啥意思 突然想到的~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
body {
margin: 0;
}
.center {
display: flex;
margin-top: 200px;
justify-content: center;
align-items: center;
}
.center>span {
position: absolute;
display: inline-block;
width: 20px;
height: 10px;
background: #999;
transform-origin: 300% 50%;
animation: load 1.04s ease infinite;
}
@keyframes load {
0% {
opacity: 1;
}
100% {
opacity: 0.2;
}
}
.center>span:nth-of-type(1) {
transform: rotate(0deg);
}
.center>span:nth-of-type(2) {
transform: rotate(60deg);
animation-delay:0.13s;
}
.center>span:nth-of-type(3) {
transform: rotate(120deg);
animation-delay:0.26s;
}
.center>span:nth-of-type(4) {
transform: rotate(180deg);
animation-delay:0.39s;
}
.center>span:nth-of-type(5) {
transform: rotate(240deg);
animation-delay:0.52s;
}
.center>span:nth-of-type(6) {
transform: rotate(300deg);
animation-delay:0.65s;
}
</style>
</head>
<body>
<div class="center">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</body>
</html>
拓展的话可以试试用这个写个时钟效果~
这里的话还有一个问题是 由于是absolute 居中不是很好居中
- 可以用translateX(-300%)
来使得中心点回到原点 然后再left 50%
去水平居中