用纯css写5个loading动画
时间: 2023-11-09 12:06:27 浏览: 120
1. 旋转圆圈
HTML:
```html
<div class="spinner"></div>
```
CSS:
```css
.spinner {
width: 50px;
height: 50px;
border-radius: 50%;
border: 5px solid #ccc;
border-top-color: #333;
animation: spin 1s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
```
2. 线性加载条
HTML:
```html
<div class="progress-bar"></div>
```
CSS:
```css
.progress-bar {
width: 100%;
height: 10px;
background-color: #ccc;
position: relative;
}
.progress-bar::before {
content: "";
width: 0%;
height: 100%;
background-color: #333;
position: absolute;
top: 0;
left: 0;
animation: progress 2s ease-out infinite;
}
@keyframes progress {
to {
width: 100%;
}
}
```
3. 跳动的点
HTML:
```html
<div class="bounce-loader">
<div></div>
<div></div>
<div></div>
</div>
```
CSS:
```css
.bounce-loader {
display: flex;
justify-content: center;
align-items: center;
height: 50px;
}
.bounce-loader div {
width: 10px;
height: 10px;
background-color: #333;
border-radius: 50%;
margin: 0 5px;
animation: bounce 2s ease-in-out infinite;
}
.bounce-loader div:nth-child(1) {
animation-delay: 0s;
}
.bounce-loader div:nth-child(2) {
animation-delay: 0.2s;
}
.bounce-loader div:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes bounce {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-20px);
}
100% {
transform: translateY(0);
}
}
```
4. 环形加载
HTML:
```html
<div class="circular-loader"></div>
```
CSS:
```css
.circular-loader {
width: 50px;
height: 50px;
border-radius: 50%;
border: 5px solid #ccc;
border-top-color: #333;
animation: spin 1s linear infinite;
position: relative;
}
.circular-loader::before {
content: "";
width: 50px;
height: 50px;
border-radius: 50%;
border: 5px solid #ccc;
border-top-color: #333;
opacity: 0.3;
position: absolute;
top: 0;
left: 0;
animation: pulse 2s ease-out infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
@keyframes pulse {
0% {
transform: scale(0.8);
opacity: 0.3;
}
50% {
transform: scale(1);
opacity: 0.5;
}
100% {
transform: scale(0.8);
opacity: 0.3;
}
}
```
5. 方块加载
HTML:
```html
<div class="square-loader">
<div></div>
<div></div>
<div></div>
</div>
```
CSS:
```css
.square-loader {
display: flex;
justify-content: center;
align-items: center;
height: 50px;
}
.square-loader div {
width: 10px;
height: 10px;
background-color: #333;
margin: 0 5px;
animation: square 2s ease-in-out infinite;
}
.square-loader div:nth-child(1) {
animation-delay: 0s;
}
.square-loader div:nth-child(2) {
animation-delay: 0.2s;
}
.square-loader div:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes square {
0% {
transform: translateY(0);
}
25% {
transform: translateY(-20px);
}
50% {
transform: translateY(0);
}
75% {
transform: translateY(20px);
}
100% {
transform: translateY(0);
}
}
```
阅读全文