使用关键帧显示 none 个动画
Display none animation using keyframes
我使用 angular 4 作为我的框架。我正在尝试从左侧动画显示一个部分的隐藏。我写了下面的代码
.help-section
background-color #EDF6F8;
width 300px
display none;
position relative;
padding 20px
animation hidefromleft 1s
.help-section.show-help
display block
animation showfromright 1s
@keyframes showfromright {
from {
right:-300px; display none;
}
to {
right 0;display block;
}
}
@keyframes hidefromleft {
from {
right 0;display block;
}
to {
right:-300px; display none;
}
}
显示效果很好,但隐藏效果不好。有什么方法可以用动画处理元素的隐藏。隐藏不带任何动画。
我认为您无法单独从 css 动画显示 属性。
然而,不透明度和可见性可以设置动画。
这样的事情怎么样:
.help-section {
animation: hidefromleft 2s;
}
@keyframes hidefromleft {
0% {right: 0; display: block; opacity: 1;}
50% {right: -300px; opacity: 0}
100% {opacity: 1; display: none;}
}
就个人而言,我总是使用过渡而不是动画 (https://www.w3schools.com/css/css3_transitions.asp)。
我使用 angular 4 作为我的框架。我正在尝试从左侧动画显示一个部分的隐藏。我写了下面的代码
.help-section
background-color #EDF6F8;
width 300px
display none;
position relative;
padding 20px
animation hidefromleft 1s
.help-section.show-help
display block
animation showfromright 1s
@keyframes showfromright {
from {
right:-300px; display none;
}
to {
right 0;display block;
}
}
@keyframes hidefromleft {
from {
right 0;display block;
}
to {
right:-300px; display none;
}
}
显示效果很好,但隐藏效果不好。有什么方法可以用动画处理元素的隐藏。隐藏不带任何动画。
我认为您无法单独从 css 动画显示 属性。
然而,不透明度和可见性可以设置动画。
这样的事情怎么样:
.help-section {
animation: hidefromleft 2s;
}
@keyframes hidefromleft {
0% {right: 0; display: block; opacity: 1;}
50% {right: -300px; opacity: 0}
100% {opacity: 1; display: none;}
}
就个人而言,我总是使用过渡而不是动画 (https://www.w3schools.com/css/css3_transitions.asp)。