css动画围绕border旋转
时间: 2023-10-28 07:54:19 浏览: 53
要围绕边框旋转CSS动画,你可以使用CSS的transform属性来实现。下面是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<style>
@keyframes border-rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.box {
width: 200px;
height: 200px;
border: 2px solid black;
animation: border-rotate 2s linear infinite;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
```
在上面的示例中,我们定义了一个名为`border-rotate`的关键帧动画。在0%和100%的关键帧中,我们将元素的transform属性设置为rotate(0deg)和rotate(360deg),从而使其围绕边框旋转一周。
然后,我们创建了一个具有`box`类的`<div>`元素,并将其应用了`border-rotate`动画。动画的持续时间为2秒,使用线性过渡,并设置为无限循环。
这样,你就可以实现一个围绕边框旋转的CSS动画了。你可以根据需要调整元素的大小、边框样式和动画效果。
相关问题
大屏css围绕中心点旋转动画
要实现大屏围绕中心点旋转的动画,你可以使用CSS的`@keyframes`规则和`transform`属性。下面是一个示例代码:
HTML:
```html
<div class="container">
<div class="screen"></div>
</div>
```
CSS:
```css
.container {
position: relative;
width: 400px;
height: 400px;
border: 2px solid #000;
margin: 0 auto;
overflow: hidden;
}
.screen {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
background-color: #f00;
transform: translate(-50%, -50%);
animation: rotate 5s linear infinite;
}
@keyframes rotate {
0% {
transform: translate(-50%, -50%) rotate(0deg);
}
100% {
transform: translate(-50%, -50%) rotate(360deg);
}
}
```
在上面的代码中,我们创建了一个名为`container`的容器,宽度和高度为400px,并设置了边框。然后,我们在容器内部创建了一个名为`screen`的元素,宽度和高度为200px,并设置了背景颜色为红色。通过设置`position: absolute; top: 50%; left: 50%;`使得屏幕元素居中显示,并使用`transform: translate(-50%, -50%);`微调其位置。
接下来,在`@keyframes`规则中定义了一个名为`rotate`的动画,从0%到100%的过程中,使用`transform: translate(-50%, -50%) rotate(0deg);`到`transform: translate(-50%, -50%) rotate(360deg);`实现旋转效果。最后,将该动画应用到屏幕元素上通过`animation: rotate 5s linear infinite;`。
这样,屏幕元素就会围绕容器的中心点进行旋转动画了。你可以根据需要调整容器和屏幕元素的尺寸和样式。
CSS3九大行星绕太阳周转动画效果完整代码
以下是CSS3九大行星绕太阳周转动画效果的完整代码示例:
HTML代码:
```
<div class="sun"></div>
<div class="mercury"></div>
<div class="venus"></div>
<div class="earth"></div>
<div class="mars"></div>
<div class="jupiter"></div>
<div class="saturn"></div>
<div class="uranus"></div>
<div class="neptune"></div>
```
CSS代码:
```
body {
background: #000;
}
.sun {
width: 100px;
height: 100px;
border-radius: 50%;
background: #FDB813;
position: absolute;
left: calc(50% - 50px);
top: calc(50% - 50px);
box-shadow: 0px 0px 50px rgba(253,184,19,1);
animation: sun 10s linear infinite;
}
.mercury {
width: 10px;
height: 10px;
border-radius: 50%;
background: #A9A9A9;
position: absolute;
top: calc(50% - 5px);
left: calc(50% - 80px);
transform-origin: 50% 200%;
animation: mercury 3s linear infinite;
}
.venus {
width: 20px;
height: 20px;
border-radius: 50%;
background: #CD853F;
position: absolute;
top: calc(50% - 10px);
left: calc(50% - 120px);
transform-origin: 50% 200%;
animation: venus 5s linear infinite;
}
.earth {
width: 25px;
height: 25px;
border-radius: 50%;
background: #1E90FF;
position: absolute;
top: calc(50% - 12.5px);
left: calc(50% - 160px);
transform-origin: 50% 200%;
animation: earth 8s linear infinite;
}
.mars {
width: 15px;
height: 15px;
border-radius: 50%;
background: #FF4500;
position: absolute;
top: calc(50% - 7.5px);
left: calc(50% - 200px);
transform-origin: 50% 200%;
animation: mars 10s linear infinite;
}
.jupiter {
width: 50px;
height: 50px;
border-radius: 50%;
background: #FF8C00;
position: absolute;
top: calc(50% - 25px);
left: calc(50% - 280px);
transform-origin: 50% 200%;
animation: jupiter 12s linear infinite;
}
.saturn {
width: 40px;
height: 40px;
border-radius: 50%;
background: #D2B48C;
position: absolute;
top: calc(50% - 20px);
left: calc(50% - 380px);
transform-origin: 50% 200%;
animation: saturn 15s linear infinite;
}
.uranus {
width: 30px;
height: 30px;
border-radius: 50%;
background: #00BFFF;
position: absolute;
top: calc(50% - 15px);
left: calc(50% - 480px);
transform-origin: 50% 200%;
animation: uranus 20s linear infinite;
}
.neptune {
width: 28px;
height: 28px;
border-radius: 50%;
background: #00CED1;
position: absolute;
top: calc(50% - 14px);
left: calc(50% - 580px);
transform-origin: 50% 200%;
animation: neptune 25s linear infinite;
}
@keyframes sun {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes mercury {
0% {
transform: rotate(0deg) translateX(80px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(80px) rotate(-360deg);
}
}
@keyframes venus {
0% {
transform: rotate(0deg) translateX(120px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(120px) rotate(-360deg);
}
}
@keyframes earth {
0% {
transform: rotate(0deg) translateX(160px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(160px) rotate(-360deg);
}
}
@keyframes mars {
0% {
transform: rotate(0deg) translateX(200px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(200px) rotate(-360deg);
}
}
@keyframes jupiter {
0% {
transform: rotate(0deg) translateX(280px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(280px) rotate(-360deg);
}
}
@keyframes saturn {
0% {
transform: rotate(0deg) translateX(380px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(380px) rotate(-360deg);
}
}
@keyframes uranus {
0% {
transform: rotate(0deg) translateX(480px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(480px) rotate(-360deg);
}
}
@keyframes neptune {
0% {
transform: rotate(0deg) translateX(580px) rotate(0deg);
}
100% {
transform: rotate(360deg) translateX(580px) rotate(-360deg);
}
}
```
这段代码定义了一个太阳和九个行星,每个行星围绕太阳旋转,每个行星的速度不同。其中,关键是使用了CSS3的动画属性,通过不断改变元素的旋转角度和平移距离,实现了行星绕太阳旋转的效果。