html - 垂直对齐和动画

标签 html css animation

我正在制作一个音乐库,但我遇到了垂直对齐和动画方面的问题。

我有这个 html 代码:

<div id="player">
   <div class="player-disc"></div>
</div>

和它的 CSS:

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

#player {
  position:relative;
  margin: 30px auto;
  height: 300px;
  width: 700px;
  background-color: #E25822;
  -moz-border-radius: 200px;
  -webkit-border-radius: 200px;
  border-radius: 200px;
 }

#player .player-disc {
  position: absolute;
  top: 50%;
  left:25px;
  transform: translateY(-50%);
  /* animation: spin 5s infinite linear; */
  width: 250px;
  height: 250px;
  background: black url("https://i.ytimg.com/vi/SFfrthBpqQA/maxresdefault.jpg") no-repeat;
  background-size: 250px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

当我注释掉动画时(正如您在上面看到的那样),页面看起来还不错,但是当我添加动画线时,“圆盘”掉落并开始旋转,我可以'我似乎不知道我做错了什么。

这是 jsFiddle

最佳答案

因为你的光盘上有这个,所以可以在播放器中移动它:

transform: translateY(-50%);

当您通过 transform 设置旋转动画时,动画会覆盖平移。

您也可以通过将翻译添加到动画的转换中来解决此问题:

@keyframes spin {
  0% { 
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}

关于html - 垂直对齐和动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39217233/

相关文章:

html - 旋转动画不适用于 Safari 9

css - 中心未知图像大小并 overflow hidden

html - 在 BootStrap 中使用背景图像显示图像

html - 一个或多个 <div> 标签填充父级 <td>

html - 如何覆盖右侧的引导容器?

css - 有什么方法可以在 CSS 中可视化变换原点?

Swift:当键盘出现时,UIView 改变了大小

javascript - 获取音频集合的持续时间

html - 响应式 Bootstrap-4 网格系统不会崩溃

php - 如何使用条件语句将两个搜索结果语句合为一个?