You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS加载器内圈旋转超出父容器问题求助

问题解决方法

你的问题出在两个核心点:内部圆形的居中定位没生效,且动画里的transform覆盖了初始的居中设置,导致旋转时偏移到主div外面。

具体修正步骤:

  • 修复居中语法错误:你写的transform: translate(-50% -50%)缺少逗号,正确写法是transform: translate(-50%, -50%),同时要配合top: 50%; left: 50%;才能让内部圆在主div里精准居中。
  • 动画中保留居中属性:CSS动画的transform会完全覆盖元素初始的transform,所以关键帧里必须把居中的translate和旋转的rotate结合起来,否则旋转时元素会回到未居中的初始状态。

修正后的完整代码:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-size: 50px;
}
body,
html {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: black;
}
.maindiv {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: pink;
  position: relative;
}
.internalcircle {
  width: 3.5rem;
  height: 3.5rem;
  background-color: black;
  border-radius: 50%;
  animation: introtate 2s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@keyframes introtate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

额外说明:

  • 去掉了alternate参数,因为加载器通常是单向循环旋转,若需要来回旋转效果可以重新加上。
  • transform-origin: center是CSS默认值,无需额外声明。

内容的提问来源于stack exchange,提问作者Sainath Shetty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:05:10