【发布时间】:2018-12-24 12:13:36
【问题描述】:
我正在使用 css 过渡来将一堆 div 叠放在一起。在任何时候,其中一个 div 都可能崩溃。它下面的所有 div 都应该向上移动以填充它的位置。
Here is a codepen that describes the situation.
我使用的css如下:
div {
height: 100px;
width: 100px;
margin: 15px;
}
.top {
background-color: red;
transform-origin: top;
animation: move 2s infinite;
}
.bottom {
background-color: blue;
}
@keyframes move {
0% {
transform: rotateX(0deg);
}
50% {
transform: rotateX(90deg);
}
}
这样,顶部 div 将扩展和收缩。我希望它下面的 div 在顶部折叠时向上移动。
如果我将transform 切换为height,如下所示:
@keyframes move {
0% {
height 0;
}
50% {
height: 100px;
}
}
底部的 div 确实会移动,但这对我来说不是一个好的解决方案,因为在实际应用中,每个 div 都有一个动态计算的大小。
底部的div如何随着顶部的div平滑移动?
【问题讨论】:
-
介意我这样做的主要目的吗?我只是想要它的可视化。
-
我们有一堆显示数据的面板。每个面板都可以通过单击一个按钮来折叠以仅显示一个标题。 codepen 只是我可以创建的最简单的版本。在实际实现中,没有无限动画循环。
-
那你有什么建议吗?我可能会使用其他东西。
-
@AndrewEisenberg 你期待这个吗???检查并告诉我codepen.io/anon/pen/rreKJr
-
不,这行不通。只有顶框应该转换。
标签: css css-transitions css-animations css-transforms