旋转路径上的 CSS 椭圆阴影而不是中心锚点的问题可以通过使用 SVG 和 CSS 动画来解决。下面是一个简单的解决方法:
<path>
元素来定义路径的形状和旋转角度。@keyframes
规则来定义动画的关键帧。animation
属性来指定动画的名称、持续时间和重复方式。下面是一个示例代码:
HTML:
<svg width="200" height="200">
<path id="path" d="M100,50 a1,1 0 1,0 0,100 a1,1 0 1,0 0,-100" fill="none" stroke="black" stroke-width="2" />
<circle id="shadow" cx="100" cy="50" r="5" fill="black">
<animateMotion dur="5s" repeatCount="indefinite">
<mpath href="#path" />
</animateMotion>
</circle>
</svg>
CSS:
#shadow {
animation: rotate 5s linear infinite;
}
@keyframes rotate {
0% {
transform-origin: 0 0;
transform: rotate(0deg);
}
100% {
transform-origin: 0 0;
transform: rotate(360deg);
}
}
在上面的代码中,通过创建一个 SVG 的 <path>
元素来定义一个椭圆路径,并在路径上使用 <circle>
元素作为阴影的表示。然后,通过 CSS 动画(@keyframes
)来使阴影沿着椭圆路径旋转。
请注意,这只是一个简单的示例,你可以根据实际需求进行进一步的调整和优化。
腾讯云相关产品:在腾讯云上运行这个示例的话,可以选择使用腾讯云的云服务器(CVM)来托管你的网站,并使用腾讯云的对象存储(COS)来存储和管理静态资源(如 SVG 文件和 CSS 文件)。
腾讯云云服务器(CVM)产品介绍:https://cloud.tencent.com/product/cvm 腾讯云对象存储(COS)产品介绍:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云