gpt4 book ai didi

react 中的CSS网格动画

转载 作者:行者123 更新时间:2023-11-28 02:03:21 26 4
gpt4 key购买 nike

我正在尝试构建一个应用程序以响应具有三列布局的 CSS 网格

<div>
<div class="sidebar"><button>collapse list</button></div> // 100px
<div class="list"></div> // 200px
<div class="item-detail"></div> //auto
</div>

当我点击侧栏上的折叠列表按钮时,我需要隐藏list div 并展开item-detail div带有滑入和滑出动画

我尝试在 list 上添加类 hidden 并将 expanded 添加到 item-detail

.item-detail.expanded{
grid-column: 2 / -1;
}

.list{
-webkit-animation: slide-in .3s ease-out;
-moz-animation: slide-in .3s ease-out;
}

.hidden {
display: none;
opacity: 0;
}

@-webkit-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateX(-100%);
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}

@-moz-keyframes slide-in {
0% {
opacity: 0;
-moz-transform: translateX(-100%);
}
100% {
opacity: 1;
-moz-transform: translateX(0);
}
}

这在显示列表时按预期工作,但在隐藏时它是如此突然(没有动画),因为 display:none 立即发生。如何实现双向动画?

最佳答案

添加hidden类时,只需将list的宽度设置为0即可,如下所示:

.list{
width: 200px;
transition: all 0.3s ease-out;
opacity: 1;
visibility: visible;
}

.list.hidden{
visibility: hidden;
opacity: 0;
width: 0;
}

关于 react 中的CSS网格动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49178206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com