纯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

相关文章

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab