CSS实战笔记(六) 无缝轮播图

简介: CSS实战笔记(六) 无缝轮播图


1、效果演示


c63457abb8e6c3ede1dc5aced6443093_20191103200824540.gif


2、完整代码


<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      background-color: white;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
    }
    .frame {
      width: 500px;
      min-width: 500px;
      height: 300px;
      min-height: 300px;
      border: 5px solid whitesmoke;
      box-shadow: 1px 1px 5px gray;
      position: relative;
      overflow: hidden;
    }
    .slide {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      width: 100%;
      height: 100%;
    }
    .slide-animation-1 {
      animation: switch-slide-1 10s ease-in-out infinite;
    }
    .slide-animation-2 {
      animation: switch-slide-2 10s ease-in-out infinite;
    }
    .slide-animation-3 {
      animation: switch-slide-3 10s ease-in-out infinite;
    }
    .slide-animation-4 {
      animation: switch-slide-4 10s ease-in-out infinite;
    }
    @keyframes switch-slide-1 {
      0%   { opacity: 1; left: 0px; }
      /* 展示 */
      20%  { opacity: 1; left: 0px; }
      /* 切出 */
      25%  { opacity: 0; left: 500px; }
      /* 归位 */
      26%  { opacity: 0; left: -500px; }
      /* 等待 */
      95%  { opacity: 0; left: -500px; }
      /* 切入 */
      100% { opacity: 1; left: 0px; }
    }
    @keyframes switch-slide-2 {
      0%   { opacity: 0; left: -500px; }
      /* 等待 */
      20%  { opacity: 0; left: -500px; }
      /* 切入 */
      25%  { opacity: 1; left: 0px; }
      /* 展示 */
      45%  { opacity: 1; left: 0px; }
      /* 切出 */
      50%  { opacity: 0; left: 500px; }
      /* 归位 */
      51%  { opacity: 0; left: -500px; }
      /* 等待 */
      100% { opacity: 0; left: -500px; }
    }
    @keyframes switch-slide-3 {
      0%   { opacity: 0; left: -500px; }
      /* 等待 */
      45%  { opacity: 0; left: -500px; }
      /* 切入 */
      50%  { opacity: 1; left: 0px; }
      /* 展示 */
      70%  { opacity: 1; left: 0px; }
      /* 切出 */
      75%  { opacity: 0; left: 500px; }
      /* 归位 */
      76%  { opacity: 0; left: -500px; }
      /* 等待 */
      100% { opacity: 0; left: -500px; }
    }
    @keyframes switch-slide-4 {
      0%   { opacity: 0; left: -500px; }
      /* 等待 */
      70%  { opacity: 0; left: -500px; }
      /* 切入 */
      75%  { opacity: 1; left: 0px; }
      /* 展示 */
      95%  { opacity: 1; left: 0px; }
      /* 切出 */
      100% { opacity: 0; left: 500px; }
    }
  </style>
</head>
<body>
  <div class="frame">
    <img class="slide slide-animation-1" src="https://cdn.pixabay.com/photo/2014/12/14/12/26/evening-567840__340.jpg" alt="">
    <img class="slide slide-animation-2" src="https://cdn.pixabay.com/photo/2012/03/01/00/21/bridge-19513__340.jpg" alt="">
    <img class="slide slide-animation-3" src="https://cdn.pixabay.com/photo/2017/03/29/15/18/tianjin-2185510__340.jpg" alt="">
    <img class="slide slide-animation-4" src="https://cdn.pixabay.com/photo/2016/05/05/02/37/sunset-1373171__340.jpg" alt="">
  </div>
</body>
</html>



相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
30天前
|
前端开发
纯CSS实现轮播图
纯CSS实现轮播图
34 0
|
1月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
3月前
|
编解码 前端开发 开发者
【前端设计达人必备】揭秘CSS尺寸单位的魔力:从基础到实战,打造灵动响应式网页!
【8月更文挑战第26天】本文深入探讨了CSS中常用的尺寸单位,包括像素(px)、百分比(%)、视窗单位(vw/vh/vmin/vmax)、可伸缩相对单位(em/rem)以及Flexbox和Grid中的fr单位。通过具体案例展示了每种单位的特点及其适用场景。像素适用于固定尺寸元素;百分比和em/rem利于构建响应式布局;视窗单位适合全屏设计;fr单位则能有效管理复杂网格布局的空间分配。掌握这些单位有助于开发者设计出更加灵活、高质量的网页布局。
57 4
HTML+CSS 实现带轮播图的企业官网页面(记得收藏)
HTML+CSS 实现带轮播图的企业官网页面(记得收藏)
|
3月前
|
移动开发 前端开发 JavaScript
HTML+CSS动画打造酷炫轮播图!(含源码)
HTML+CSS动画打造酷炫轮播图!(含源码)
|
3月前
|
前端开发 UED
超越静态:CSS动画轮播图,引领视觉新体验!
超越静态:CSS动画轮播图,引领视觉新体验!
|
3月前
|
前端开发 容器
使用纯css制作类似轮播图效果
通过纯CSS实现流畅的页面切换效果,利用三个全屏大小的盒子放置于一个宽300vw的容器内。用户可通过点击底部按钮切换不同页面,每个按钮对应一个隐藏的单选按钮,选中时会触发容器的水平位移,从而展现不同的背景色页面。动画效果由`transition`属性完成,平滑过渡至下一个页面。此外,还提供了渐变色生成网站供参考,以丰富页面视觉效果。
18 1
|
3月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
54 0
|
3月前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
139 0