美文网首页
页面元素之动画

页面元素之动画

作者: 小疏林er | 来源:发表于2020-03-30 23:12 被阅读0次

1、动画

在实用价值的前提之下,layui并没有内置过多花俏的动画。而他们同样在 layui 的许多交互元素中,发挥着重要的作用。但是layui的动画使用起来并不是特别方便,本文添加了一些css原生动画。

2、使用方式

动画的使用非常简单,直接对元素赋值动画特定的 class 类名即可。如:
其中 layui-anim 是必须的,后面跟着的即是不同的动画类:
<div class="layui-anim layui-anim-up"></div>
循环动画,追加:layui-anim-loop
<div class="layui-anim layui-anim-up layui-anim-loop"></div>
内置css动画一览:

内置css动画一览.png

示例代码:

<div class="layui-anim layui-anim-up " style="height: 100px;width: 100px;background-color: #00F7DE;">
                从最底部往上滑入
            </div>
            <div class="layui-anim layui-anim-fadein "style="height: 100px;width: 100px;background-color: #00F7DE;margin-top: 30px;">
                渐现
            </div>
            <div class="layui-anim layui-anim-upbit "style="height: 100px;width: 100px;background-color: #00F7DE;margin-top: 30px;">
                微微往上滑入
            </div>
            <div class="layui-anim layui-anim-scale "style="height: 100px;width: 100px;background-color: #00F7DE;margin-top: 30px;">
                微微往上滑入
</div>
效果图.png

3、补充属性

上面加的动画,在页面一加载的时候就播放了,并且播放的时间也没有给出修改方法,翻看了源码(layui.css)找到了相关属性,对他们重新赋值即可。下面以layui-anim-up 动画为例,修改动画的播放时间。

.layui-anim {
    -webkit-animation-duration:.3s; /* Safari 和 Chrome的设置动画持续时间方法 */
    animation-duration: .3s;  /*IE10、Firefox 以及 Opera的设置动画持续时间方法 */
    -webkit-animation-fill-mode: both;  /*规定对象动画时间之外的状态为向前和向后填充模式都被应用。*/
    animation-fill-mode: both
}


.layui-anim-up {
    -webkit-animation-name: layui-up; 
    animation-name: layui-up
}
/*下面有两个动画规定方式,是针对于不同浏览器的,Chrome 和 Safari 需要前缀 -webkit-。*/
@-webkit-keyframes layui-upbit {
    from {    /*动画开始时属性值*/
        -webkit-transform: translate3d(0, 30px, 0);  /*动画开始时位置*/
        opacity: .3  /*不透明度*/
    }
    to {    /*动画结束时属性值*/
        -webkit-transform: translate3d(0, 0, 0);    /*动画结束时位置*/
        opacity: 1
    }
}
/*Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。*/
@keyframes layui-upbit {
    from {
        transform: translate3d(0, 30px, 0);
        opacity: .3
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

注:

  • 观察上述源码后,发现无论是规定动画还是动画属性名称都有两种写法,这是为了适应不同的浏览器,Internet Explorer 10、Firefox 以及 Opera 对应着@keyframes 规则和 animation 属性,而Chrome 和 Safari 需要前缀 -webkit-(@-webkit-keyframes、-webkit-animation-duration等)
  • 在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
    规定动画的名称;
    规定动画的时长
    这是原生css动画的规定方式,layui已经将这些做完了,我们直接用即可,也可按需修改。
  • @keyframes 规则和所有动画属性(Chrome 和 Safari 加上前缀 -webkit-即可)


    动画属性.png

4、改进动画

在修改动画持续时间前,需要了解一下当样式表的来源不同时,样式的相应优先级顺序:内联样式 > 内部样式 > 外部样式 > 浏览器用户自定义样式 > 浏览器默认样式。

        <div style=""></div>     <!--内联样式-->
        <style ></style>         <!-- 内部样式-->
        <link rel="stylesheet" type="text/css" href=""/>  <!--外部样式-->

上面的例子样式是引入的外部css文件,但我们轻易不要对源码修改,所以我们只需要在div上面添加内联样式或者内部样式,这里以内部样式为例,将layui-anim-up的持续时间改为5秒,即添加-webkit-animation-duration:5s;animation-duration: 5s;即可。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="layui/layui.js" ></script>
        <link rel="stylesheet" href="layui/css/layui.css" />
        <style type="text/css">
            #div1{
                -webkit-animation-duration:5s;
                animation-duration: 5s;
            }
        </style>
    </head>
    <body>
            <div class="layui-anim layui-anim-up "id="div1" style="height: 100px;width: 100px;background-color: #00F7DE;">
                从最底部往上滑入
            </div>
    </body>
</html>

5、css原生动画

太困了,以后有机会写叭,反正也没人看。

授人以鱼不如授人以渔,各位看官自行发挥。

相关文章

  • 页面元素之动画

    1、动画 在实用价值的前提之下,layui并没有内置过多花俏的动画。而他们同样在 layui 的许多交互元素中,发...

  • Android Fragment元素共享打开页面有动画,返回没有

    Android Fragment元素共享,打开页面时有切换动画,返回时没有切换动画。 共享元素设置 A页面 B页面...

  • 页面元素之动画续篇

    1、JQuery 上文仅对动画修改了持续时间,页面一加载出来就播放了,并没有添加相应的触发事件,下面利用jQuer...

  • 聊聊Android的转场动画

    Android的转场动画包括:场景动画,页面的转场动画,页面元素间共享动画。 Android转场动画[https:...

  • css动画优化

    减少动画元素 减少动画元素,是动画性能优化中首先需要完成的。通过审查页面动画 DOM 元素结构,去除不必要的动画元...

  • 共享元素动画实现的酷炫音乐播放器效果

    SharedElement共享元素 Andriod 5.0开始支持共享元素动画,该动画主要应用于多个页面之间共享控...

  • Dom

    获取页面元素 为什么要获取页面元素例如:我们想要操作页面上的一部分(显示,动画),需要先获取到该部分对应的元素,才...

  • jQuery基础(3)

    (续jQuery基础(2)) 四、动画篇 第1章 动画基础隐藏和显示 (1)隐藏元素的hide方法 让页面上的元素...

  • 如何用PPT切换效果制作时间轴推进动画?

    在PPT中,实际有两种动画类型,一种是常见的,为页面中元素添加的动画,另一种是为页面整体添加的页面切换效果动画。 ...

  • iOS 动画(一)——UIView动画

    动画在iOS开发中必不可少的元素,各种优美的页面、炫酷的交互效果离不开动画这个元素。今天对动画做一下学习和总结。 ...

网友评论

      本文标题:页面元素之动画

      本文链接:https://www.haomeiwen.com/subject/cnhmuhtx.html