发表于: 2021-02-25 19:59:47

2 961


今天完成的事情:做完了任务十三的两个界面

明天计划的事情:昨晚任务十三和十四

收获:

如何用CSS实现轮播图效果?


使用animation动画属性

animation的常用属性有

animation-name 指定要绑定到选择器的关键帧的名称

animation-duration 动画指定需要多少秒或毫秒完成

animation-timing-function 设置动画将如何完成一个周期

常用为linear 匀速播放

animation-delay 设置动画在启动前的延迟间隔。

animation-iteration-count 定义动画的播放次数。

常用为infinite无限循环播放

HTML部分:

<body>
    <div class="homepage">

        <div class="carousel">

            <div class="carousel-set">

                <div class="carousel-content"><!-- 每一块的内容 -->
                    <img src="5.jpg">
                </div>
                
                <div class="carousel-content"><!-- 每一块的内容 -->
                    <img src="5.jpg">
                </div>

                <div class="carousel-content"><!-- 每一块的内容 -->
                    <img src="5.jpg">
                </div>

                <div class="carousel-content"><!-- 每一块的内容 -->
                    <img src="5.jpg">
                </div>

            </div>
        </div>

    </div>

</body>

CSS部分:

.homepage {
    width100%;
}

.carousel {
    position: relative;
    width100%;
    overflow: hidden;
}

.carousel-set {
    animation: playMovie 10s linear infinite;
    width400%;
}

.carousel-content {
    float: left;
    width25%;
}

.carousel-content > img {
    width100%;
    height100%;
}

@keyframes playMovie {
    0% {margin-left0;}
    10% {margin-left0;}
    20% {margin-left-50%;}
    30% {margin-left-100%;}
    40% {margin-left-100%;}
    50% {margin-left-150%;}
    60% {margin-left-200%;}
    70% {margin-left-200%;}
    80% {margin-left-250%;}
    90% {margin-left-300%;}
    100% {margin-left-300%;}
}

在上面的例子中,建立了一个页面homepage,建立一个“镜头”carousel,建立一个“胶卷”carousel-set,carousel-content相当于每一片的内容,把图片或文字放在里面。

通过在不同的时间给予carousel-set不同的左边距来实现滚动效果,不同时间的左边距一样则为暂停。

通过这种方法实现的滚动,如果要滚动三张图片,要创建四个carousel-content,使第一张和第四张图片一样,因为从100%到0%是瞬间切换的


返回列表 返回列表
评论

    分享到