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/

相关文章:

html - ionic css 问题,同时将右下角的 ionic 图标设置为图像

css - 流畅地向左浮动 div

ios交叉溶解segue过渡颜色?

css - transform + transition 导致跳转或模糊内容 CSS

html - 使用 float 后删除两个 div 之间的间隙

css - Opera - 容器外的旋转元素丢失事件

html - CSS旋转动画关键帧

jquery - CSS + jQuery 转换插件 : how to fix blurry text

javascript - 获取 DOM 元素流入位置

javascript - d3 在转换中翻译旋转顺序