【发布时间】:2020-04-01 00:34:17
【问题描述】:
我正在研究 HTML/CSS,我发现了一个非常有趣的旋转框阴影示例。我想我会尝试使用它,但我无法转动我的文本周围的阴影。
我找到的示例有一个类似<div class="rotate-shadows"></div> 和这样的 CSS:
body {
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.rotate-shadows {
width: 220px;
height: 220px;
position: relative;
}
.rotate-shadows:after,
.rotate-shadows:before {
content: "";
border-radius: 50%;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transform-origin: center center;
}
.rotate-shadows:before {
box-shadow: inset 0 20px 0 rgba(0, 250, 250, 0.6), inset 20px 0 0 rgba(0, 200, 200, 0.6), inset 0 -20px 0 rgba(0, 150, 200, 0.6), inset -20px 0 0 rgba(0, 200, 250, 0.6);
animation: rotate-before 2s -0.5s linear infinite;
}
.rotate-shadows:after {
box-shadow: inset 0 20px 0 rgba(250, 250, 0, 0.6), inset 20px 0 0 rgba(250, 200, 0, 0.6), inset 0 -20px 0 rgba(250, 150, 0, 0.6), inset -20px 0 0 rgba(250, 100, 0, 0.6);
animation: rotate-after 2s -0.5s linear infinite;
}
@keyframes rotate-after {
0% {transform: rotateZ(0deg) scaleX(1) scaleY(1);}
50% {transform: rotateZ(180deg) scaleX(0.82) scaleY(0.95);}
100% {transform: rotateZ(360deg) scaleX(1) scaleY(1);}
}
@keyframes rotate-before {
0% {transform: rotateZ(0deg) scaleX(1) scaleY(1);}
50% {transform: rotateZ(-180deg) scaleX(0.95) scaleY(0.85);}
100% {transform: rotateZ(-360deg) scaleX(1) scaleY(1);}
}
<div class="rotate-shadows"></div>
我发现我不需要body {},想出了我可以在哪里更改阴影的颜色、比例等。但我不知道哪个部分负责阴影的形状。
我可以让阴影像动画框架一样环绕我的文本吗:
Классная шляпная шляпа с широкими полями всего за два куська。 Да-да! Это не опечатка! Всего два динозаврических укуса и шляпа ваша!
我需要把我的文字放在哪里才能让阴影围绕它旋转? 以及如何改变阴影的形状?
我只是想明白。
【问题讨论】:
-
将文本放入 div 并将
display: flex; justify-content: center;align-items: center;添加到.rotate-shadows,使用伪元素上的嵌入阴影制作阴影,更改形状将涉及与@987654321 的值一起播放@
标签: html css css-animations box-shadow