用css 写一个炫酷的loading
时间: 2023-09-13 16:06:23 浏览: 193
当涉及到创建炫酷的 loading 动画时,可以使用 CSS 的动画和过渡效果来实现。下面是一个简单的示例,展示如何使用 CSS 创建一个旋转的 loading 动画:
HTML 代码:
```html
<div class="loading"></div>
```
CSS 代码:
```css
.loading {
width: 50px;
height: 50px;
border-radius: 50%;
border: 5px solid #ffffff;
border-top-color: #ffcc00;
animation: spin 1s infinite linear;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
```
在这个示例中,我们创建了一个带有 `loading` 类的 `<div>` 元素,并设置了它的宽度、高度、边框样式和动画效果。通过 `border` 属性设置边框样式,其中 `border-top-color` 属性设置了顶部边框的颜色。然后,我们使用 `@keyframes` 规则定义了一个名为 `spin` 的动画,使元素以线性方式无限旋转。最后,通过 `animation` 属性将动画应用于 `loading` 类。
你可以根据自己的需求调整样式和动画属性,以创建适合你的炫酷 loading 动画。
相关问题
css写一个loading
以下是一个简单的 CSS loading 动画:
HTML:
```
<div class="loading">
<div class="loading-dot"></div>
<div class="loading-dot"></div>
<div class="loading-dot"></div>
</div>
```
CSS:
```
.loading {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.loading-dot {
width: 12px;
height: 12px;
margin: 0 6px;
border-radius: 50%;
background-color: #333;
animation: loading 1s ease-in-out infinite;
}
.loading-dot:nth-child(2) {
animation-delay: 0.2s;
}
.loading-dot:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes loading {
0% {
transform: scale(0);
}
50% {
transform: scale(1);
}
100% {
transform: scale(0);
}
}
```
这个 loading 动画由三个圆点组成,通过动画让它们不断缩放来达到 loading 效果。可以通过调整 CSS 中的参数来调整 loading 动画的样式。
用css写3个loading风格
1. 旋转圆圈
```
.loading {
display: inline-block;
width: 40px;
height: 40px;
border: 4px solid #f2f2f2;
border-top: 4px solid #3498db;
border-radius: 50%;
animation: spin 2s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
```
2. 跳动小球
```
.loading {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
}
.loading:before, .loading:after {
content: "";
position: absolute;
top: 0;
}
.loading:before {
left: -20px;
width: 20px;
height: 80px;
border-radius: 50% 0 0 50%;
background-color: #3498db;
animation: bounceLeft 1s ease-in-out infinite;
}
.loading:after {
left: 20px;
width: 20px;
height: 80px;
border-radius: 0 50% 50% 0;
background-color: #f2f2f2;
animation: bounceRight 1s ease-in-out infinite;
}
@keyframes bounceLeft {
0%, 100% { transform: scale(0.0); }
50% { transform: scale(1.0); }
}
@keyframes bounceRight {
0%, 100% { transform: scale(0.0); }
50% { transform: scale(1.0); }
}
```
3. 打字机效果
```
.loading {
display: inline-block;
font-size: 20px;
color: #3498db;
font-family: monospace;
white-space: nowrap;
overflow: hidden;
border-right: .15em solid #3498db;
animation: typing 2s steps(40, end) infinite;
}
@keyframes typing {
from { width: 0 }
to { width: 100% }
}
```
阅读全文