纯css制作轮播图(自动)最最最最详细的教程

2024-03-24 08:40

本文主要是介绍纯css制作轮播图(自动)最最最最详细的教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

太太太太太太适合新手啦!

因为太详细了····老代码人应该会觉得啰嗦吧····

思路:

  1. 先设置一个让图片显示在屏幕里的固定盒子
  2. 其次插入图片 使其横向排列
  3. 将超出固定盒子的图片隐藏住
  4. 在设置动画
  5. 利用span标签制作小圆点
  6. 多设置一个span标签做移动在小圆点之间的小圆点
  7. 给移动的小圆点设入与图片相同的动画
  8. 即可完成

第一步:敲入html

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>css轮播图</title><link rel="stylesheet" type="text/css" href="css/lbt.css"/></head><body><!--大盒子box--><div class="box"><!--imgsum盒子里嵌套小li装图片--><div class="imgsum"><ul><li><img src="img/1.webp"/></li><li><img src="img/2.webp"/></li><li><img src="img/3.webp"/></li><li><img src="img/4.webp"/></li><li><img src="img/5.webp"/></li></ul></div><!--圆点--><div class="yuandian"><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="dot active"></span>	</div></div></body>
</html>

效果图为:

 第二步:加入css

首先取消浏览器自带的内外边距,在取消小li自带的小圆点

* {margin: 0;padding: 0;list-style: none;
}

(先设置一个让图片显示在屏幕里的固定盒子,是其多余的图片隐藏)<div class="box">

给大盒子添加样式 

.box {width: 800px;height: 500px;overflow: hidden;margin: 100px auto;/*加入相对定位 父级元素*/position: relative;
}

<div class="imgsum">嵌套小li装图片 ,给其加入样式和动画

.imgsum  {width: 4000px;height: 500px;/*平滑过渡*/transition:5s;/*动画:动画名称 一共25s 动画以低速结束 规定动画播放无限次(永远)动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。*/ -webkit-animation: img 25s ease-out infinite alternate;
}

(其次插入图片 使其横向排列)

<ul>
                    <li><img src="img/1.webp"/></li>
                    <li><img src="img/2.webp"/></li>
                    <li><img src="img/3.webp"/></li>
                    <li><img src="img/4.webp"/></li>
                </ul>

给图片加入样式

.imgsum ul li img {/*添加左浮动 使图片横向排列*/float: left;width: 800px;height: 500px;
}

此时此刻我们的图片呈现为:

给其加入动画 使用@keyframes

@-webkit-keyframes img{/*因为我设置的图片宽度为800px,所以在动画到25%时需要向左移动一个照片的宽度,在50%的时候需要向左移动两个照片的宽度,在75%的时候需要向左移动三个照片的宽度,等等以此类推注意:向左移动的时候是负值*/0% {margin-left:0px ;}25% {margin-left: -800px;}50% {margin-left:  -1600px;}75% {margin-left: -2400px;}100% {margin-left: -3200px;}
}

到此为止 我们的图片已经可以动起来啦。

下面我们加入小圆点。加入小圆点的方法有很多,我使用了span标签。

           <div class="yuandian"><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="dot"></span><!--移动的小圆点--><span class="dot active"></span>	</div>

 给装小圆点的盒子<div class="yuandian">加入样式:

.yuandian {/*加入绝对定位 父级元素为.box父相子绝 */position: absolute;bottom: 0;/*修改背景颜色*/background-color: #e0eefc40;/*自动撑成图片尺寸的100%*/left: 0;right: 0;/*设置高度为50px 水平居中 垂直居中*/height: 50px;text-align:center;/*行高等于高度时就显示垂直居中*/line-height: 50px;
}

再给小圆点<span class="dot"></span>加入样式:

.dot {/*使span变成行内块元素,将其横排显示*/display:inline-block;width: 10px;height: 10px;background: #fff;/*这个属性允许设置圆角边框,当设置为50%时可得到一个圆形*/border-radius: 50%;/*每个小圆点直接都相距2px*/margin: 0 2px;
}

给移动的<span class="dot active"></span>    添加样式以及动画,也就是后文说的粉色小球。

.active {/*设置定位为绝对定位*/position: absolute;background-color: pink;top: 21px;left: 356px;/*设置动画,此时粉色小球的动画要与图片保持一致.注:动画名称要改变*/animation:dot1 25s ease-out infinite alternate ;
}
@-webkit-keyframes dot1{/*移动的粉色小圆点需要跟图片动画保持一致 所以动画到百分比的时候要保持一致为什么是左移动356 375px 呢?因为我这次用的动画是用定位做的给移动的active小圆点设了绝对定位。*/0% {left:356px ;}25% {left: 375px;}50% {left:  393px;}75% {left: 412px;}100% {left: 431px;}
}
计算粉色小球的移动距离
如何算 粉色小球移动距离

 

这篇关于纯css制作轮播图(自动)最最最最详细的教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/841052

相关文章

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat