超越静态:CSS动画轮播图,引领视觉新体验!

简介: 超越静态:CSS动画轮播图,引领视觉新体验!

先上效果


🌟 轮播图是一种常见的视觉元素,用于展示图片、信息或故事。CSS轮播图动画通过平滑的过渡效果和动态的视觉表现,极大地增强了轮播图的吸引力和用户体验。本文将探讨如何使用CSS来创建一个响应灵敏、动画流畅的轮播图,让网站内容的展示更加生动和有趣。



完整代码


以下是完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        li {
            list-style: none;
        }
        body,
        html {
            width: 100%;
            height: 100%;
            display: flex;
        }
        :root {
            --w: 400;
            --speed: 2s;
        }
        .g-container {
            width: 400px;
            margin: auto;
            height: 240px;
            line-height: 240px;
            font-size: 20px;
            background: #673ab7;
            color: #fff;
            overflow: hidden;
            border: 2px solid #766c6c;
        }
        ul {
            display: flex;
            flex-wrap: nowrap;
        }
        ul li {
            flex-shrink: 0;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
        }
        ul li img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        ul {
            animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
        }
        ul li {
            white-space: nowrap;
            cursor: pointer;
            animation: move1 calc(var(--speed)) infinite;
        }
        @keyframes move {
            0% {
                transform: translate(0, 0px);
            }
            100% {
                transform: translate(calc(var(--s) * var(--w) * -1px), 0);
            }
        }
        @keyframes move1 {
            0% {
                transform: translate(0, 0px);
            }
            80%,
            100% {
                transform: translate(calc(var(--w) * -1px), 0);
            }
        }
    </style>
</head>
<body>
    <div class="g-container">
        <ul style="--s: 4">
            <li>
                <img src="./1.png">
            </li>
            <li>
                <img src="./2.png">
            </li>
            <li>
                <img src="./3.png">
            </li>
            <li>
                <img src="./4.png">
            </li>
            <!--末尾补一个首尾数据-->
            <li>
                <img src="./1.png">
            </li>
        </ul>
    </div>
</body>
</html>

🌟 关键技术点如下:

  1. Flexbox布局
  1. ul { display: flex; flex-wrap: nowrap; }:使用flex布局来水平排列列表项,并禁止换行。
  2. ul li { flex-shrink: 0; width: 100%; height: 100%; box-sizing: border-box; }:设置列表项不收缩,宽高为100%,并使用box-sizing: border-box;来包含边框和内边距。
  1. 图片样式
  1. ul li img { width: 100%; height: 100%; object-fit: cover; }:使图片占满整个列表项,并使用object-fit: cover;来保证图片的封面效果。
  1. 动画效果
  1. ulul li 的动画使用了animation属性,分别命名为movemove1,并使用了CSS变量--speed--s来控制动画的速度和步数。
  2. @keyframes move@keyframes move1:定义了两个关键帧动画,分别用于整个列表和单个列表项的移动。
  1. 无限循环
  1. ul中末尾补了一个首尾数据,结合动画的步骤(steps(var(--s)))和无限循环(infinite),实现了无缝滚动效果。
相关文章
|
3天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
1月前
纯css3实现的百分比渐变进度条加载动画源码
纯css3实现的百分比渐变进度条加载动画特效源码
54 31
|
14天前
|
Web App开发 移动开发 JavaScript
纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码
这是一款基于纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码。画面中左下角是一个圆锥形礼炮卡通效果,呈现出节日庆祝时礼花爆破、五彩纸屑纷飞的动画特效。整体动画效果采用纯css3+svg实现,没有引入任何外部图形或js脚本元素。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
32 6
|
25天前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
51 7
|
1月前
CSS3制作的聚光灯下倒影文字选装动画特效源码
CSS3聚光灯下倒影文字特效是一段基于CSS3实现的聚光灯下带倒影的文字旋转动画效果代码,具有真实的视觉感,同时文字还会在旋转过程中显示出灯光的反射效果,很有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
30 6
|
1月前
纯css3加载loading发光变色动画代码
纯css3加载loading发光变色动画特效代码是一款基于css3 keyframes属性实现的发光变色圆点串联旋转loading加载动画
23 2
|
1月前
|
Web App开发 前端开发 iOS开发
CSS加载动画大全 126种
CSS加载动画大全是一个css Loaders加载动画特效汇总,一共包含126种加载动画效果,不同样式不同图案,简单实用,一览包含所有,会让你在等待的过程中,体验视觉盛宴,给用户不一般的加载体验,欢迎下载试试!代码适用浏览器:搜狗、360、FireFox(建议)、Chrome、Safari、Opera、傲游、世界之窗,是一款不错的的特效插件,希望大家喜欢!
27 2
|
1月前
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。
|
25天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
50 7