前端原生 CSS 跑马灯效果,无限轮播(横竖版本,带渐变遮罩,简单实用)

简介: 前端原生 CSS 跑马灯效果,无限轮播(横竖版本,带渐变遮罩,简单实用)

一、横版跑马灯

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      /* 重点:盒子宽度 600 */
      width: 600px;
      height: 150px;
      border: 3px solid black;
      overflow: hidden;
    }
    .box ul {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      height: 100%;
      animation: move 5s linear infinite;
    }
    /* hover 暂停,不用可去掉 */
    .box ul:hover {
      animation-play-state: paused;
    }
    .box ul li {
      height: 100%;
      /* 重点:单个图片宽度 200,相当于默认不动可见 3 个 */
      width: 200px;
      flex-shrink: 0;
    }
    .box ul li img {
      height: 100%;
      width: 100%;
    }
    @keyframes move {
      /* 为什么设置 -800px ?公式:主图张数 * 单个图片宽度(每轮主图只有 4 张,4 张照片为一个周期,如果需要轮播的主图为 7、8、9...张,都一样) */
      100% {
        transform: translateX(-800px);
      }
    }
  </style>
</head>
<body>
  <!-- 窗口 -->
  <div class="box">
    <!-- 轮播列表 -->
    <ul>
      <!-- 轮播主图 -->
      <li><a href="#"><img src="./1.jpg" alt=""></a></li>
      <li><a href="#"><img src="./2.jpg" alt=""></a></li>
      <li><a href="#"><img src="./3.jpg" alt=""></a></li>
      <li><a href="#"><img src="./4.jpg" alt=""></a></li>
      <!-- 轮播完成防止留白 -->
      <!-- 怎么确定尾部需要几张防止留白,3 张是怎么得出的?其实就是上面: 盒子宽度 / 单个图片宽度 = 一屏几张留白图 -->
      <li><a href="#"><img src="./1.jpg" alt=""></a></li>
      <li><a href="#"><img src="./2.jpg" alt=""></a></li>
      <li><a href="#"><img src="./3.jpg" alt=""></a></li>
    </ul>
</div>
</body>
</html>

二、竖版跑马灯

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      width: 600px;
      /* 重点:盒子宽度 150 */
      height: 150px;
      border: 3px solid black;
      overflow: hidden;
    }
    .box ul {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      height: 100%;
      animation: move 5s linear infinite;
    }
    /* hover 暂停,不用可去掉 */
    .box ul:hover {
      animation-play-state: paused;
    }
    .box ul li {
      /* 重点:单个图片高度 150,相当于默认不动可见 1 个 */
      height: 150px;
      width: 100%;
      flex-shrink: 0;
    }
    .box ul li img {
      height: 100%;
      width: 100%;
    }
    @keyframes move {
      /* 为什么设置 -600px ?公式:主图张数 * 单个图片高度(每轮主图只有 4 张,4 张照片为一个周期,如果需要轮播的主图为 7、8、9...张,都一样) */
      100% {
        transform: translateY(-600px);
      }
    }
  </style>
</head>
<body>
  <!-- 窗口 -->
  <div class="box">
    <!-- 轮播列表 -->
    <ul>
      <!-- 轮播主图 -->
      <li><a href="#"><img src="./1.jpg" alt=""></a></li>
      <li><a href="#"><img src="./2.jpg" alt=""></a></li>
      <li><a href="#"><img src="./3.jpg" alt=""></a></li>
      <li><a href="#"><img src="./4.jpg" alt=""></a></li>
      <!-- 轮播完成防止留白 -->
      <!-- 怎么确定尾部需要几张防止留白,1 张是怎么得出的?其实就是上面: 盒子高度 / 单个图片高度 = 一屏几张留白图 -->
      <li><a href="#"><img src="./1.jpg" alt=""></a></li>
    </ul>
</div>
</body>
</html>

三、竖版跑马灯(带渐变遮罩,可以改成横向的)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      position: relative;
      width: 600px;
      /* 重点:盒子宽度 150 */
      height: 150px;
      overflow: hidden;
    }
    .box ul {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      height: 100%;
      animation: move 5s linear infinite;
    }
    /* hover 暂停,不用可去掉 */
    .box ul:hover {
      animation-play-state: paused;
    }
    .box ul li {
      /* 重点:单个图片高度 150,相当于默认不动可见 1 个 */
      height: 150px;
      width: 100%;
      flex-shrink: 0;
    }
    .box ul li img {
      height: 100%;
      width: 100%;
    }
    @keyframes move {
      /* 为什么设置 -600px ?公式:主图张数 * 单个图片高度(每轮主图只有 4 张,4 张照片为一个周期,如果需要轮播的主图为 7、8、9...张,都一样) */
      100% {
        transform: translateY(-600px);
      }
    }
    /* 顶部、底部白色渐变 */
    .header-blur {
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      height: 10px;
      /* background-image: linear-gradient(red, green 50%); */
      background-image: linear-gradient(#fff, rgba(0, 0, 0, 0) 50%);
      z-index: 1;
    }
    .footer-blur {
      position: absolute;
      left: 0;
      bottom: 0;
      right: 0;
      height: 10px;
      /* background-image: linear-gradient(red 40%, green); */
      background-image: linear-gradient(rgba(0, 0, 0, 0) 40%, #fff);
      z-index: 1;
    }
  </style>
</head>
<body>
  <!-- 窗口 -->
  <div class="box">
    <!-- 顶部、底部白色渐变 -->
    <div class="header-blur"></div>
    <div class="footer-blur"></div>
    <!-- 轮播列表 -->
    <ul>
      <!-- 轮播主图 -->
      <li><a href="#"><img src="./1.jpg" alt=""></a></li>
      <li><a href="#"><img src="./2.jpg" alt=""></a></li>
      <li><a href="#"><img src="./3.jpg" alt=""></a></li>
      <li><a href="#"><img src="./4.jpg" alt=""></a></li>
      <!-- 轮播完成防止留白 -->
      <!-- 怎么确定尾部需要几张防止留白,1 张是怎么得出的?其实就是上面: 盒子高度 / 单个图片高度 = 一屏几张留白图 -->
      <li><a href="#"><img src="./1.jpg" alt=""></a></li>
    </ul>
</div>
</body>
</html>
目录
打赏
0
0
0
0
268
分享
相关文章
|
4月前
|
如何解决前端工程化中出现的版本冲突问题?
如何解决前端工程化中出现的版本冲突问题?
189 61
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
164 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
71 6
|
6月前
|
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
148 3
前端基础(五)_CSS文本文字属性、背景颜色属性
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
243 1
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
498 1
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
学习CSS3 中的渐变、阴影与遮罩
CSS3的渐变、阴影和遮罩特性极大地丰富了网页设计。渐变让颜色平滑过渡,赋予页面流动美感;阴影增加元素立体感,引导视觉焦点;遮罩通过隐藏或显示部分元素创造独特视觉效果。这些特性组合使用,可打造丰富多彩、立体生动的视觉体验,并可通过CSS3动画增强动态效果,使网页更具活力。正确应用这些特性需考虑参数调整及跨浏览器兼容性,以确保最佳展示效果。
前端技术分享:利用 CSS Grid 实现响应式布局
【10月更文挑战第1天】前端技术分享:利用 CSS Grid 实现响应式布局
107 2
SpringBoot + Vue 前端后分离项目精进版本
这篇文章详细介绍了一个基于SpringBoot + Vue的前后端分离项目的搭建过程,包括前端Vue项目的初始化、依赖安装、页面创建和路由配置,以及后端SpringBoot项目的依赖添加、配置文件修改、代码实现和跨域问题的解决,最后展示了项目运行效果。
SpringBoot + Vue 前端后分离项目精进版本

热门文章

最新文章

  • 1
    CSS 过渡和动画
    4
  • 2
    如何使用CSS过渡实现页面元素的淡入淡出效果?
    8
  • 3
    Css实现文本超出长度隐藏并用三个点结尾
    2
  • 4
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    12
  • 5
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    27
  • 6
    详解智能编码在前端研发的创新应用
    12
  • 7
    智能编码在前端研发的创新应用
    14
  • 8
    VSCode AI提效工具,通义灵码前端开发体验
    29
  • 9
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    18
  • 10
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    3
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等