为了账号安全,请及时绑定邮箱和手机立即绑定

Web前端基礎知識

标签:
CSS3

請多多指教!

今天來記錄一下關於css3實現動畫效果:
首先想到的肯定是animation,但是使用它得配合著@keyframes animationname {};

animation用法:

css中:元素{animation:name  時間 是否重複 是否逆向  };

            是否重複:是infinite,否就不寫;是否逆向:是alternate,否:就不寫。

         @keyframes有兩種樣式:1.@keyframes name { from{屬性:屬性值}to{屬性:屬性值}};

                                                 2.@keyframes name{0%{屬性:屬性值}50%{屬性:屬性值}100%{屬性:屬性值}}。

實例:

        #box{
            width: 100px;
            height: 100px;
            background-color: #fc5652;
            animation: all 3s infinite alternate;
        }
        @keyframes all {
            from{
                width: 100px;
            }
            to{
                width: 300px;
            }
        }

之後想到了transition:但是它需要一個事件觸發,在css中觸發就用hover就可以測試:

transition用法:

css中:元素{transition :屬性名 時間};若是想實現多個屬性變化就將屬性名該為all也可以用逗號隔開

在事件中:元素:hover{屬性名:屬性值},這裡的屬性名為:需要改變的屬性名。

實例:

    #main{    
        width: 100px;
        height: 200px;
        background-color: #34c94a;
        transition: height 2s;
    }
    #main:hover{
        height: 400px;
    }

而在製作動畫時常用到:transform;

transform用法:

它包含很多屬性:1.translate(x,y):2D轉換,將元素平移;

                           2.rotate(弧度):將元素旋轉;

                          3.scale(大小):將元素縮放:0-1;

若是要一起使用多個屬性:transform:translate(x,y) rotate(弧度);空間用空格隔開;

實例:

#main{
    width: 100px;
    height: 200px;
    background-color: #34c94a;
    transform: rotate(30deg) scale(0.3);
   transition: all 2s;
}
#main:hover{
    height: 400px;
    width: 300px;
}

有些時候我們還會用到3D旋轉:

關於它的用法:要設置旋轉中心transform-origin:left;3D旋轉:-webkit-transform-style:preserve-3d;

這是我製作的一個水泡:

.bubble{
       width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 5px solid gold;
    background-color: whitesmoke;
    transform: scale(0.1);
    animation:my 2s infinite;
}
@keyframes my {
    from{
        transform: scale(0.1);
        border: 5px solid gold;
    }
    to{
        transform: scale(1);
        border: 5px solid #fbf6d6;
    }
}

或者是製作幻燈片播放圖片:

#box{
    width: 200px;
    height: 200px;
    background-image: url("img/img1.jpeg");
    background-size: 100% 100%;
    animation: move 5s infinite;
}
@keyframes move {
    20%{
        background-image: url("img/img1.jpeg");
    }
    40%{
        background-image: url("img/img2.jpeg");
    }
    60%{
        background-image: url("img/img3.jpeg");
    }
}

以上就是目前接觸到的一些css3動畫。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
2
获赞与收藏
20

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消