gpt4 book ai didi

html - CSS可见性动画不工作

转载 作者:技术小花猫 更新时间:2023-10-29 12:48:10 28 4
gpt4 key购买 nike

我想在可见性 CSS 属性上做一个基于关键帧的动画。我最初在“显示”上尝试过,但发现不支持“显示”上的动画,但支持“可见性”。这个想法是让矩形的可见性不断切换。我不想使用 jquery,而是想在 CSS 中实现它的全部。以下是我的代码,但它没有给出矩形在第 5 秒之前一直隐藏、出现然后在动画结束时再次消失的预期结果

  <head>
<style type="text/css">
#layer1 {
-moz-animation-duration: 10s;
-moz-animation-name: toggle;
}

@-moz-keyframes toggle {
from {
visibility:hidden;
}

50% {
visibility:visible;
}

to {
visibility:hidden;
}
}

</style>

<script type="application/javascript">
window.onload = function()
{
var c = document.getElementById('layer1');
var ctxt = c.getContext('2d');
ctxt.fillStyle = 'red';
ctxt.fillRect(0,0,200,200);
ctxt.fillStyle = 'green';
ctxt.fillRect(0,0,100,100);
}

</script>

  <body>

<canvas id="layer1" width="200" height="200" >
</canvas>

</body>


</html>

最佳答案

可见性属性上的 CSS 过渡或动画使元素可见 在过渡期间,然后突然应用新值。 (假设当前规范并且只要没有使用特殊的计时功能。) 可见性的过渡/动画不显示逐渐变化 视觉效果,但是当我读到这个问题时,这个想法确实是 将元素隐藏到第 5 秒。

您的 CSS 动画指定了从 0% 到 50% 的第一个过渡 从隐藏变为可见,显示元素 到上面的规则,然后你指定一个从 50% 到 100% 从可见到隐藏,同时显示元素 玩。因此该元素永久可见。

通过指定

@keyframes toggle {
from {
visibility:hidden;
}
50% {
visibility:hidden;
}
to {
visibility:visible;
}
}

该元素将隐藏到 50%,然后突然出现。 要在最后隐藏它,您需要添加 visibility:hidden 到 主要样式表规则不是关键帧。 另请参阅我关于 CSS 过渡可见性的博文 http://www.taccgl.org/blog/css-transition-visibility.html#Appearance_CSS_Visibility

关于html - CSS可见性动画不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7857982/

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