CSS动画 – 更改属性而不进行转换?

前端之家收集整理的这篇文章主要介绍了CSS动画 – 更改属性而不进行转换?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个案件,我需要一个元素出现一秒钟,然后消失,我不能使用 JavaScript,所以我试图使它的工作与CSS.

以下是一个例子:

@-webkit-keyframes slide-one-pager {
    0% { left: 0; }
    50% { left: 100px; }
    100% { left: 0; }
}

所以在这个例子中,属性将逐渐从0转换到100,然后返回到0.但是,我需要摆脱这个转换,所以属性保持为0,一旦达到50%就会达到100.如果我说左:0;在49%,因为还有一个转型.

另一个例子,比我原来的问题略有不同,但是如果我找到一个解决方案,它也会做得如此:

@-webkit-keyframes slide-one-pager {
    0% { display: none; }
    50% { display: block; }
        75% { display: block; }
    100% { display: none; }
}

在这里我想显示一段时间的元素.不,使用不透明度不是一个选择,因为元素仍然存在,并且仍然可以点击,我需要访问下面的元素.不幸的是,“显示属性似乎不接受动画.如果有人能想到一个解决方案如何显示和隐藏一个动画元素(没有转换!)我将非常感激.

有任何想法吗?

解决方法

我实际上搜索了同样的事情.
您可以在动画中设置一个伟大的参数,称为动画定时功能,允许您设置完美和数学的动画:使用贝塞尔曲线值,或者像我一样,你不是那么好的数学家,一个参数调用“step )”.
举个例子,没有速写:
.hiding {
      animation-name:slide-one-pager;
      animation-duration:2s;
      animation-timing-function:steps(1);
}

默认情况下,此参数的值设置为0,表示没有步骤.
您可以在这里阅读更多关于这个有趣的功能https://developer.mozilla.org/en-US/docs/Web/CSS/timing-function

这里有一个简短的动画符号:

.hiding {
      animation:slide-one-pager 2s steps(1);
}

对我来说,至少在firefox 23.0.1上它工作得很好.

即使我认为你一年来解决了这个问题,也许可以帮助一些像我这样的人:)

原文链接:https://www.f2er.com/css/216850.html

猜你在找的CSS相关文章