css - 是否有一个简单的修复方法可以在路径而不是中心 anchor 上旋转 css 椭圆形阴影?

标签 css rotation css-transforms

我有一个围绕椭圆形的旋转框阴影作为加载图标。在一个完美的圆圈中,这没有问题,但是因为我想给它添加一个标志,我宁愿它围绕一条路径而不是中间的 anchor 旋转。

目前,我已经完美地制作了旋转前的形状,但是在添加@keyframes 旋转后,它会围绕对象中间的 anchor 旋转。 如果删除 @keyframes,我希望颜色围绕该形状旋转。

.gradient-spinner{
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -20px -22px;
	width: 48px;
	height:36px;
	transform: rotate(138deg);
	border:1px transparent #ffffff;
	border-radius: 50%;
	box-shadow: 0 0 0 0px transparent inset,
	            0 -5px 20px 0px rgba(1,197,255,0.4) inset,
	            0 0 20px 0px rgba(0,150,130,0.4) inset,
	            0 5px 20px 0px rgba(162,58,236,0.4) inset,
	            0 5px 20px 5px rgba(1,197,255,0.4),
	            0 0 20px 5px rgba(0,150,130,0.4),
	            0 -5px 20px 2px rgba(162,58,236,0.4);
	            
	            animation:gradient 2s linear infinite;
}

@keyframes gradient{
	0%{
		transform:rotate(0deg);
	}
	100%{
		transform:rotate(360deg);
	}
}
<div class="gradient-spinner z-i-100">
</div>

最佳答案

您是否考虑过将圆圈放入容器中并压平外容器而不是圆圈?示例如下:

.gradient-spinner{
	
	width: 48px;
	height: 48px;
	transform: rotate(138deg);
	border:1px transparent #ffffff;
	border-radius: 50%;
	box-shadow: 0 0 0 0px transparent inset,
	            0 -5px 20px 0px rgba(1,197,255,0.4) inset,
	            0 0 20px 0px rgba(0,150,130,0.4) inset,
	            0 5px 20px 0px rgba(162,58,236,0.4) inset,
	            0 5px 20px 5px rgba(1,197,255,0.4),
	            0 0 20px 5px rgba(0,150,130,0.4),
	            0 -5px 20px 2px rgba(162,58,236,0.4);
	            
	            animation:gradient 2s linear infinite;
}

@keyframes gradient{
	0%{
		transform:rotate(0deg);
	}
	100%{
		transform:rotate(360deg);
	}
}

.flatten {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -20px -22px;
  transform: scaleY(0.75);
}
<div class="flatten"> 
    <div class="gradient-spinner z-i-100">
    </div>
</div>

关于css - 是否有一个简单的修复方法可以在路径而不是中心 anchor 上旋转 css 椭圆形阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518024/

相关文章:

html - 为什么我的转换会弹回?

twitter-bootstrap - 在 Bootstrap 4 中从底部向上滑动的模态

jQuery 命令没有给出预期的结果

html - CSS 表格,显示内容的反转顺序

c++ - 如何相对移动角度?

java - 顺时针旋转链表

css - 按比例缩小大图像不会更新主体尺寸

html - .class :nth-child(even) not working?

javascript - 滚动到每个 span 元素

javascript - 如何将属性应用于存在但不立即可见的钛元素?