其他过渡结束后的过渡延迟

Transition delay after other transition has ended

我遇到 2 个 div 将容器分成 2 个宽度 50% 宽度的问题。
当悬停在一个上时,它会扩展到 60/40%。

问题是:将鼠标悬停在 1 上(因此它被扩展)然后快速悬停在另一个上时,z-index 正在剪裁。

查看此 fiddle 示例: https://jsfiddle.net/h9vs79as/

我需要在反向过渡结束后触发新过渡...

HTML

<div class="container">
  <div class="one">div 1</div>
  <div class="two">div 2</div>
</div>

CSS

.container { height: 200px;  width: 500px;  position: relative; }
.container div { position: absolute; height: 200px; width: 50%; z-index: 100; transition: all .5s ease; }
.one { left: 0; background-color: #00ff00; }
.two { right: 0; background-color: #ff00ff; }
.container div:hover { width: 60%; z-index: 150;  transition: all .5s ease; }

您可以使用 flexbox 并且没有定位或 z-index 来做到这一点:

.container {
  height: 200px;
  width: 500px;
  position: relative;
  display: flex;
}
.container div {
  flex: 1 1 50%;
  transition: all .5s ease;
}
.one {
  background-color: #00ff00;
}
.two {
  background-color: #ff00ff;
}

.container div:hover {
  flex: 0 0 60%;
  transition: all .5s ease;
}
<div class="container">
  <div class="one">div 1</div>
  <div class="two">div 2</div>
</div>