CSS动图效果

:-: 过度

            /* transition 过度动画
                作用属性 -- transition-property
                时间间隔 -- transition-duration
                动图效果 -- transition-timing-function
                等待延时 -- transition-delay */
            transition: all .5s linear .3s;
            /* cubic-bezier 贝塞尔曲线函数 */
            transition: all .5s cubic-bezier(0.6, -0.25, 0.75, 0.05) .3s;

:-: 关键帧 - 动图

        .demo {
            position: absolute;
            width: 50px;
            height: 50px;
            background-color: red;
            /* animation 播放关键帧动画 */
            animation: demo 5s;
            /* animation 播放关键帧动画 并行执行demo2 */
            animation: demo 5s, demo2 5s;
            /* animation 播放关键帧动画 (复合值)
                           none ----- 动图名称
                       duration ----- 耗时
                timing-function ----- 效果(贝塞尔曲线)
                          delay ----- 等待延迟(执行第一次的时候才会等待,并不是每一次都等待)
                iteration-count ----- 循环执行的次数(infinite无限次)
                      direction ----- 可以改变走关键帧的方式(倒序)
                      fill-mode ----- 设置保留最后一帧的状态、 */
            animation: demo 5s cubic-bezier(1, -0.32, 0.52, 0.96) 2s infinite alternate forwards;
        }
        
        /* @keyframes demo 关键帧容器(demo名字随便取) */
        @keyframes demo {
            0% {
                top: 0;
                left: 0;
            }
            30% {
                top: 400px;
                left: 200px;
                background-color: blue;
            }
            60% {
                top: 0;
                left: 800px;
                background-color: #ccc;
            }
            100% {
                top: 0;
                left: 0;
                background-color: red;
            }
        }

Demo - 打字效果:http://a-1.vip/demo/demo_c3/font.html
Demo - 跑马效果:http://a-1.vip/demo/demo_c3/horse.html

:-: 旋转、缩放、移动或倾斜

            /* transform 对元素进行旋转、缩放、移动或倾斜(复合值)
                定义和用法:属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。
                    origin -- 设置或检索对象以某个原点进行转换
                     style -- 指定某元素的子元素是(看起来)位于三维空间内,还是在该元素所在的平面内被扁平化。 */
            transform: rotate(45deg) scale(1.3, 1.3);

            /* 属性值:scale 缩放(复合值)
                1.伸缩的是此元素变化坐标轴的刻度 2.可以叠加操作
                scaleX -- 缩放x轴
                scaleY -- 缩放y轴
                scaleZ -- z
                scale3d  */
                /* scale(x,y,z) */
            transform: scale(.5);

            /* rotate 旋转(复合值)
                rotate
                rotateX
                rotateY
                rotateZ
                rotate3d */
            transform: rotate(-45deg);
            /* 改变旋转中心点,默认值:center 取值:0 5px 5% center */
            transform-origin: 0 0;

            /* rotate3d(x,y,z,angle) 设置一个自定义的轴进行旋转 */
            transform: rotate3d(1, 1, 0, 45deg);

            /* skew 倾斜(复合值)
                skew(x, y)
                skewX -- x
                skewY -- y */
            transform: skew(45deg, 0deg);

            /* 父级加 transform-style: preserve-3d; 子级将支持3d渲染
                    -- 指定某元素的子元素是(看起来)位于三维空间内,还是在该元素所在的平面内被扁平化。
                    -- 当该属性值为「preserve-3d」时,元素将会创建局部堆叠上下文。
                    -- 决定一个变换元素看起来是处在三维空间还是平面内,需要该元素的父元素上定义 <' transform-style '> 属性。
                    -- 对应的脚本特性为transformStyle。 */
            transform-style: preserve-3d;

            /* opacity: 1; */
            /* transform: translateZ(0); */
            /* gpu加速 标准方法 */
            will-change: transform;

Demo - 3D旋转图片墙:http://a-1.vip/demo/demo_c3/3d.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值