css - 过渡不是第一次发生

标签 css transform transition translate3d

我有以下 CSS:

.some-el {
  width: 60%;
  height: 50%;
  position: fixed;
  left: 20%;
  right: 20%;
  top: 0%;
  background-color: black;

  /* All vendor-prefixes */
  transition: transform linear 1s;
  transform: translate3d(0,-100%,0);
}

.some-el.open {
  /* All vendor-prefixes */
  transform: translate3d(0,0%,0);
}

用这个 html:

  <div class="some-el"></div>
  <a id="open" href="#">Toggle</a>
  <script>
    document.getElementById('open').onclick = function() {
      document.querySelector('.some-el').classList.toggle('open');
    };
  </script>

我第一次点击链接时没有过渡,但在所有后续点击(无论是打开还是关闭)中都会发生过渡。

最佳答案

使用上面的代码,转换对我来说根本不起作用。 See this fiddle .

但是,我认为如果你把你的过渡改为all,像这样

transition: all linear 1s;

那应该行得通。我让它在这个 fiddle 里工作 enter link description here

关于css - 过渡不是第一次发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381384/

相关文章:

css - 缩略图中的旋转木马标题?

ios - iOS Safari 上的 CSS 缩放转换缩小页面

swift - 立即 UIButton 旋转变换,带动画比例

javascript - 可折叠树示例中的 d3.js v4 古怪链接转换

jQuery 简单转换问题

css - 'transition-timing function' 上的 less jumps 语法错误

html - 当窗口变小时,Inline-Block h1 会换行

html - slider <h3> 文本对带有 Bootstrap 的电话没有响应

android - iOS Mobile Safari背景图片位置与CSS

html - 使用 transform(-50%,-50%) 使部分居中时文本变得模糊