为什么我的 CSS 动画只有在开发工具中选择元素时才有效?
Why are my CSS animations only working when selecting the element in dev-tools?
我有一个 table 在单击时会改变其高度,但我希望它在单击时将其高度转换超过 500 毫秒。问题是,除非我在元素选项卡的 Chrome 开发人员工具中突出显示 'nested-table' 元素,否则我的动画不会动画。除非突出显示该元素,否则开发工具甚至看不到动画的发生。
这是我的基础 CSS table:
.nested-table {
display: none;
min-width: 860px;
max-height: 0;
height: 100%;
opacity: 0;
}
这确保 table 在页面加载时隐藏。单击后,我将 "expand" class 添加到 table 的 class 列表中。 "expand"CSS包含所有动画CSS.
这是我的动画CSS:
.expand {
display: flex;
max-height: 2500px;
opacity: 1;
-webkit-transition: all 500ms ease-in-out;
-moz-transition: all 500ms ease-in-out;
-o-transition: all 500ms ease-in-out;
transition: all 500ms ease-in-out;
}
这确实会导致 nested-table 元素在隐藏和弹出到其父元素下方之间转换,但前提是我在元素选项卡中突出显示 nested-table。这是为什么?
发现我需要使用动画和关键帧而不是过渡。
.nested-table {
animation: change-height 500ms ease 1 forwards;
}
@keyframes change-height {
0%{
max-height: 0px;
opacity: 0;
}
100%{
max-height: 2500px;
opacity: 1;
}
}
我有一个 table 在单击时会改变其高度,但我希望它在单击时将其高度转换超过 500 毫秒。问题是,除非我在元素选项卡的 Chrome 开发人员工具中突出显示 'nested-table' 元素,否则我的动画不会动画。除非突出显示该元素,否则开发工具甚至看不到动画的发生。
这是我的基础 CSS table:
.nested-table {
display: none;
min-width: 860px;
max-height: 0;
height: 100%;
opacity: 0;
}
这确保 table 在页面加载时隐藏。单击后,我将 "expand" class 添加到 table 的 class 列表中。 "expand"CSS包含所有动画CSS.
这是我的动画CSS:
.expand {
display: flex;
max-height: 2500px;
opacity: 1;
-webkit-transition: all 500ms ease-in-out;
-moz-transition: all 500ms ease-in-out;
-o-transition: all 500ms ease-in-out;
transition: all 500ms ease-in-out;
}
这确实会导致 nested-table 元素在隐藏和弹出到其父元素下方之间转换,但前提是我在元素选项卡中突出显示 nested-table。这是为什么?
发现我需要使用动画和关键帧而不是过渡。
.nested-table {
animation: change-height 500ms ease 1 forwards;
}
@keyframes change-height {
0%{
max-height: 0px;
opacity: 0;
}
100%{
max-height: 2500px;
opacity: 1;
}
}