Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 最大高度变化的CSS动画_Javascript_Css_Css Transitions - Fatal编程技术网

Javascript 最大高度变化的CSS动画

Javascript 最大高度变化的CSS动画,javascript,css,css-transitions,Javascript,Css,Css Transitions,我有一组元素,当使用.active类切换时,它们会扩展其最大高度并设置动画。但是,当删除.active类时,我遇到了一个问题,我没有将动画恢复到关闭状态 document.getElementById(“全部显示”).addEventListener(“单击”,函数(e){ const elements=document.querySelectorAll('.horizontalBarGraphContainer'); 元素。forEach((项目)=>{ item.classList.tog

我有一组元素,当使用.active类切换时,它们会扩展其最大高度并设置动画。但是,当删除.active类时,我遇到了一个问题,我没有将动画恢复到关闭状态

document.getElementById(“全部显示”).addEventListener(“单击”,函数(e){
const elements=document.querySelectorAll('.horizontalBarGraphContainer');
元素。forEach((项目)=>{
item.classList.toggle('active');
});
});
*{
字体系列:Helvetica,无衬线;
字体大小:100%;
}
.水平条形图容器{
背景:#fff;
最大高度:1000px;
-webkit过渡:最大高度1s;
-moz过渡:最大高度1s;
-ms转换:最大高度1s;
-o型过渡:最大高度1s;
填充:30px 30px 0;
过渡:最大高度1s轻松进入!重要;
}
.horizontalBarGraphContainer:非(:第一个子级){
身高:0;
最大高度:0;
溢出:隐藏;
填充:0;
过渡:最大高度为0.5s;
}
.horizontalBarGraphContainer:不是(:第一个子项)。活动{
高度:自动;
显示:块;
最大高度:1000px;
填充:30px 30px 0;
过渡:最大高度0.25s缓进;
}

选择A或B
AA54你的答案BB47
汽车还是船?
船艇58你的回答车?车?43
月亮、太阳还是汽车?
你的答案是什么

切换结果
您需要做的两件主要事情是:

  • 中删除
    高度:0
    。horizontalBarGraphContainer:不是(:第一个孩子)

    由于默认值为
    height:auto
    ,您也可以在
    中删除它。horizontalBarGraphContainer:not(:first child)。active

  • 调整
    中的
    最大高度
    。horizontalBarGraphContainer:非(:第一个孩子)。活动

堆栈片段

document.getElementById(“全部显示”).addEventListener(“单击”,函数(e){
const elements=document.querySelectorAll('.horizontalBarGraphContainer');
元素。forEach((项目)=>{
item.classList.toggle('active');
});
});
*{
字体系列:Helvetica,无衬线;
字体大小:100%;
}
.水平条形图容器{
背景:#fff;
最大高度:无;
-webkit过渡:最大高度1s;
-moz过渡:最大高度1s;
-ms转换:最大高度1s;
-o型过渡:最大高度1s;
填充:30px 30px 0;
过渡:最大高度为1s,易于进入;
}
.horizontalBarGraphContainer:非(:第一个子级){
最大高度:0;
溢出:隐藏;
填充:0;
过渡:最大高度为0.5s;
}
.horizontalBarGraphContainer:不是(:第一个子项)。活动{
显示:块;
最大高度:300px;
填充:30px 30px 0;
}

选择A或B
AA54你的答案BB47
汽车还是船?
船艇58你的回答车?车?43
月亮、太阳还是汽车?
你的答案是什么

切换结果
无法从.horizontalBarGraphContainer:中删除“最大高度:0”,因为这会防止.horizontalBarGraphContainer的第二个和更高选项在加载时折叠。@t我从来没有说过要删除
最大高度:0
,那么你这是什么意思。。。我删除的是
height:0
,和
height:auto
,因为正是这些(主要是
height:0
)导致转换无法工作