云层动画

云层动画

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>云层动画</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            position: relative;
            height: 400px;
            width: 100%;
            background-color: skyblue;
            /*margin-*/top: 100px;
            animation: cloud 5s linear 0s infinite alternate;/*infinite动画永远播放   alternate:动画需要往返*/
            overflow: hidden;/*把超过的li隐藏起来,因为如果不隐藏的话网页下面会出现滚动条*/
        }
        @keyframes cloud {
            from{
                background-color: skyblue;
            }
            to{
                background-color: black;
            }
        }
        ul li{
            position: absolute;
            /*宽度变成ul的4倍,但默认情况下,扩展元素只会向右边扩展*//*4倍是因为最大的要移300%,不想ul空出来的话,li就要是ul的4倍宽*/
            width: 400%;
            height: 100%;
            list-style: none;
        }
        ul li:nth-child(1){
            background-image: url("image/cloud_one.png");
            animation: one 30s linear 0s infinite alternate;
        }
        ul li:nth-child(2) {
            background-image: url("image/cloud_two.png");
            animation: two 30s linear 0s infinite alternate;
        }
        ul li:nth-child(3){
            background-image: url("image/cloud_three.png");
            animation: three 30s linear 0s infinite alternate;
        }
        @keyframes one {
            from {
                margin-left: 0;/*left: 0;*//*right:-300% ;*/
                /*不能用margin-right是因为浏览器默认从左往右渲染元素的,在没有超出父容器宽度的前提下,
                如果子容器的宽度能够被容纳,设置margin-right是无用的*/
            }
            to {
                /* 因为默认情况下扩展宽度是往右边增加,也就是说li是向右扩展的,所以li要向左移才不会让ul留有空白*/
                margin-left: -100%;/*left: -100%;*/ /*right: -200%;*/
            }
        }
        @keyframes two {
            from{
                margin-left: 0;/*left: 0;*//*right: -300%;*/
            }
            to{
                margin-left: -200%;/*!left: -200%;*//*right: -100%;*/
            }
        }
        @keyframes three {
            from{
                margin-left: 0;/*left: 0;*//*right: -300%;*/
            }
            to{
                margin-left: -300%;/*left: -300%;*//*right: 0;*/
            }
        }
    </style>
</head>
<body>
<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>
</body>
</html>

注意
不能用margin-right是因为浏览器默认从左往右渲染元素的,在没有超出父容器宽度的前提下, 如果子容器的宽度能够被容纳,设置margin-right是无用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值