CSS动画(轮播图)

简介: CSS动画(轮播图)

1.整体效果

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

2.完整代码

HTML

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>轮播图</title>  
    <link rel="stylesheet" type="text/css" href="6_11.css">  
</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>

CSS

* {  
    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);  
    }  
}

关键技术点如下:

  1. Flexbox布局:
    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. 动画效果:

ul 和 ul li 的动画使用了animation属性,分别命名为move和move1,并使用了CSS变量--speed和--s来控制动画的速度和步数。

@keyframes move 和 @keyframes move1:定义了两个关键帧动画,分别用于整个列表和单个列表项的移动。

  1. 无限循环:在ul中末尾补了一个首尾数据,结合动画的步骤(steps(var(--s)))和无限循环(infinite),实现了无缝滚动效果。
相关文章
|
前端开发 JavaScript
CSS 过渡和动画
CSS过渡和动画是用于为网页元素添加动态效果的两种重要技术
709 143
|
11月前
|
自然语言处理 前端开发 JavaScript
用 通义灵码 一键生成“水波纹按钮”,连 CSS 动画都不用自己写了!
通义灵码是一款智能编程辅助工具,它可以根据自然语言指令自动生成高质量的代码。例如,只需输入“生成一个按钮,点击时带水波纹动画,模拟 Material Ripple 效果”,它就能生成具备完整交互逻辑、CSS 动画和良好性能的按钮组件。不仅如此,它还支持拓展功能,如长按触发提示、添加图标等,并能自动优化样式适配不同场景。通过通义灵码,开发者可以大幅提升效率,专注于创意实现,而不必纠结于繁琐的代码细节。
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
523 3
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
309 34
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
288 22
纯css3实现的百分比渐变进度条加载动画源码
纯css3实现的百分比渐变进度条加载动画特效源码
310 31
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
Web App开发 移动开发 JavaScript
纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码
这是一款基于纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码。画面中左下角是一个圆锥形礼炮卡通效果,呈现出节日庆祝时礼花爆破、五彩纸屑纷飞的动画特效。整体动画效果采用纯css3+svg实现,没有引入任何外部图形或js脚本元素。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
384 6
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
480 7
CSS3制作的聚光灯下倒影文字选装动画特效源码
CSS3聚光灯下倒影文字特效是一段基于CSS3实现的聚光灯下带倒影的文字旋转动画效果代码,具有真实的视觉感,同时文字还会在旋转过程中显示出灯光的反射效果,很有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
208 6