css - 无法平滑地设置 Flexbox 方向的动画

标签 css flexbox css-transitions

我正在改变悬停时的 flex 方向,但我希望它应该顺利完成,但它在改变方向时会产生冲击或猛烈的冲击。 我也使用了过渡和动画,但它仍然显示错误。

.a {
   display:flex;
   flex-direction:column;
   transition:all 1 s linear;
 }
.a::hover {
   flex-direction:column-reverse;
   color: blue;
 }

最佳答案

flex-direction 不是 animatable .

你无法顺利地从一种值(value)观过渡到另一种值(value)观。因此,您需要使用上面链接中的任何属性来设计不同的动画。

注意:如果您希望动画轻松并在任何设备上顺利运行,则应尝试仅使用 transformopacity 制作动画>(大多数动画可以单独使用这两个来执行)。


但是,有一个解决方案通常适用于不可设置动画的属性。它包括以下步骤:

  1. 创建元素的不可见克隆,将要设置动画的属性更改为新值、相同的宽度和高度,并将其放置在与原始元素相同的位置。
  2. 使用 translate 将涉及的元素从当前位置动画到克隆中的位置
  3. 用克隆替换原始文件(并使克隆可见)。

关于css - 无法平滑地设置 Flexbox 方向的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54054221/

相关文章:

html - 尝试将 CSS 文件添加到 HTML 但出现 404 错误

jquery - CSS:从右向左扩展 <div> 以显示文本

html - flex 盒包装不同尺寸的元素

javascript - 提高第一个 div 的不透明度,同时减少第二个。并循环

css - 一次允许一张缩放图像

javascript - 检测过渡端的属性

javascript - 在鼠标悬停时展开一个 div。 (向左或向右扩展)

javascript - 如何在滚动框外制作向下滚动和向上滚动按钮?

html - 如何让不同的文本行占用相等的空间?

html - flex-wrap 导致下一行有太大的差距