怎样实现banner自动播放html,纯CSS3实现banner图片自动轮播效果方式总结

本文介绍了两种CSS方法实现自动轮播图片,一种通过`opacity`和`animation`控制图片透明度,另一种利用`left`定位进行切换。鼠标悬停时图片会暂停播放。适合初学者了解CSS3动画在轮播中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自动轮播:

实现切换图片,图片循环播放;鼠标悬停某张图片, 则暂停切换。css

方法一、opacity控制透明度实现轮播效果

依照需求咱们选择用CSS3的animation动画进行实现;transition动画须要触发才能启动,html

因此咱们选择自动触发的animation属性;动画

思路就是:将三个图片进行绝对定位重叠以后,将三个图片的动画放在一条时间轴上,分别在不一样时间点控制透明度,在样式代码中的细节code

写的很好理解了,在不用DOM的状况下是一种办法。orm

html:htm

css:图片

.banner{

height: 378px;

width: 100%;

position: relative;

img{

width:100%;

height: 378px;

position: absolute;

top: 0;

}

&__pics1{

opacity: 1;

animation:pics1 5s linear 0s infinite normal both running;

}

@keyframes pics1 {

// 0%{opacity: 1;}

// 33%{opacity: 1;}

// 33.3%{opacity: 0;}

// 66.6%{opacity: 0;}

// 100%{opacity: 1;}

from{

opacity: 1;

}

32%{

opacity: 1;

}

33%{

opacity: 0;

}

to{

opacity: 0;

}

}

&__pics2{

opacity: 0;

animation:pics2 5s linear 0s infinite normal both running;

}

@keyframes pics2 {

// 0%{opacity: 0;}

// 33.3%{opacity: 1;}

// 63.6%{opacity: 1;}

// 66.6%{opacity: 0;}

// 100%{opacity: 0;}

from{

opacity: 0;

}

30%{

opacity: 0;

}

31%{

opacity: 1;

}

60%{

opacity: 1;

}

61%{

opacity: 0;

}

to{

opacity: 0;

}

}

&__pics3{

opacity: 0;

animation:pics3 5s linear 0s infinite normal both running;

}

@keyframes pics3 {

// 0%{opacity: 0;}

// 33.3%{opacity: 0;}

// 66.6%{opacity: 1;}

// 96.6%{opacity: 1;}

// 100%{opacity: 0;}

from{

opacity: 0;

}

60%{

opacity: 0;

}

61%{

opacity: 1;

}

to{

opacity: 1;

}

}

// &:hover{

// &__pics1, &__pics2, &__pics3{

// cursor: pointer;

// animation-play-state: paused;

// }

// }

}

.banner:hover img{

animation-play-state: paused;

cursor: pointer;

}

方法二、left定位控制向左实现轮播效果

.banner{

height: 378px;

width: 1900px;

margin: 0 auto;

overflow: hidden;

position: relative;

img{

width:100%;

height: 378px;

position: absolute;

top: 0;

}

&__pics1{

animation:pics1 15s linear 0s infinite normal both running;

}

@keyframes pics1 {

from{

left: 2000px;;

}

2%{

left: 0;

}

31%{

left: 0;

}

33%{

left: -2000px;

}

to{

left: -2000px;

}

}

&__pics2{

animation:pics2 15s linear 0s infinite normal both running;

}

@keyframes pics2 {

from{

left: 2000px;

}

31%{

left: 2000px;

}

33%{

left: 0;

}

64%{

left: 0;

}

66%{

left: -2000px;

}

to{

opacity: -2000px;

}

}

&__pics3{

animation:pics3 15s linear 0s infinite normal both running;

}

@keyframes pics3 {

from{

left: 2000px;

}

64%{

left: 2000px;

}

66%{

left: 0;

}

98%{

left: 0;

}

to{

left: -2000px;

}

}

}

.banner:hover img{

animation-play-state: paused;

cursor: pointer;

}

### Vue CLI 项目目录结构详解 #### 1. `node_modules` 该目录含了项目所需的所有依赖模块,这些模块是通过管理工具(如 npm 或 yarn)自动下载并安装的。开发人员通常不需要手动修改此目录中的内容[^1]。 #### 2. `src` 这是项目的源码目录,也是开发者主要的工作区域。以下是其子目录和文件的主要功能: - **`main.js`**: 这是应用的入口文件,负责初始化 Vue 实例以及引入其他必要的资源。 - **`App.vue`**: 应用的核心组件,定义了整个页面的基础布局和样式。 - **`components`**: 存放可复用的 Vue 组件,用于构建更复杂的界面逻辑。 - **`assets`**: 放置静态资源文件,例如图片、字体等。 - **`router` (如果存在)**: 配置路由规则的地方,适用于单页应用程序(SPA),控制不同路径下的视图切换。 - **`store` (如果存在)**: 如果使用 Vuex,则在此处配置状态管理模式。 - **`views` (如果存在)**: 存储与特定页面对应的 Vue 文件,便于管理和维护。 #### 3. `public` 存放不会被 Webpack 处理的静态文件,比如 favicon.ico 和 index.html 模板。当运行打命令时,这些文件会被直接复制到最终的输出目录中。 #### 4. `.gitignore` 指定 Git 版本控制系统忽略哪些文件或目录,常见的有 node_modules、dist 等临时生成的内容。 #### 5. `package.json` 记录了项目的元数据信息,括名称、版本号、描述、作者、许可证声明以及所使用的脚本命令和依赖项列表。 #### 6. `babel.config.js` / `.eslintrc.*` 分别用来配置 Babel 编译器选项和支持 JavaScript 的语法检查工具 ESLint 的行为设置。 #### 7. `build` 作为生产环境下构建过程的关键部分,其中含多个辅助性的脚本文件,例如 `build.js` 是执行 `npm run build` 命令后的实际处理流程起点[^3]。 #### 初始化与卸载操作说明 为了创建一个新的基于 Vue CLI 架构的应用程序实例可以采用如下指令完成初始化工作;而要移除已有的全局范围内的旧版插件则需按照相应方法来实现[^2]: ```bash # 创建新项目 vue create my-new-project # 卸载 vue-cli 工具链 npm uninstall -g vue-cli ``` #### 安装指南补充链接 更多关于如何正确搭建本地开发所需的软硬件环境的信息可以从这里获取更多信息[^4]: [VUE官方文档](https://cli.vuejs.org/) | [古兰精博客文章](https://www.cnblogs.com/goloving/p/8693189.html) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值