搜索
首页web前端css教程如何借助CSS创建一个旋转木马?

如何借助CSS创建一个旋转木马?

旋转木马在互联网上非常有名。 网络旋转木马是一种优雅的方式,可以将相似的内容组织到一个触觉的地方,同时保留宝贵的网站空间。它们用于展示照片、提供产品,并吸引新访问者的兴趣。但是它们的效果如何?有很多反对旋转木马的论点,以及研究使用旋转木马来提高性能。但是旋转木马如何影响网站的可用性?

在本文中,我们将讨论轮播图的基础知识以及如何使用HTML和CSS创建轮播图。

什么是轮播图?

轮播图是一种幻灯片展示,可以显示一系列旋转的横幅/图片。轮播图通常出现在网站的首页上。它可以改善您的网站的外观。Web轮播图,也被称为滑块、画廊和幻灯片,允许您在一个动态的“滑动”块中显示文本、图形、图像甚至视频。它们是将内容和概念分组的优秀设计选择,可以在特定内容之间建立视觉链接。

Web轮播图因此非常适合在电子商务网站上推广相关产品,在设计作品集中展示特色项目,甚至在房地产网站上循环播放家居内外照片。然而,它们并不总是最佳选择。

许多设计师批评它们会减慢加载时间并破坏设计的流畅性。然而,与任何设计相关的事物一样,当正确地完成时,网页轮播可以以一种更容易遍历的方式分割内容。

如何制作一个网页轮播图?

在这里,我们将看到如何制作一个简单的网页轮播图,而不使用像Bootstrap这样的框架。

需要遵循的步骤

  • 使用HTML创建走马灯的基本结构,其中包含图像。在下面的示例中,我们为走马灯添加了4张图像。此外,还有4个按钮,点击按钮将显示相应的图像。

  • 首先,创建一个作为容器的 div 元素,其中包括 标题内容

  • 现在,content div 包含两个部分- carousel content(包含在整个过渡过程中保持固定的文字部分)和 slideshow(包含移动部分,即4张图片和按钮)。

  • 使用CSS来为轮播图像和按钮添加样式。保持幻灯片的位置为相对定位。

  • 使用CSS动画使轮播中的图像平滑过渡。

Example

的中文翻译为:

示例

以下示例演示了一个包含4个图像和控制图像显示的按钮的轮播。这些图像以固定时间间隔进行过渡显示。

<!DOCTYPE html>
<html>
<head>
   <title> Web Carousel </title>
   <style>
      * {
         box-sizing: border-box;
         margin: 10px;
         padding: 3px;
      }
      body {
         background-color: rgb(195, 225, 235);
      }
      .box {
         width: 600px;
         height: 400px;
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         margin: auto;
      }
      .title {
         padding: 10px 0 10px 0;
         position: absolute;
         top: 10px;
      }
      .content {
         position: relative;
         top: 10%;
      }
      .carousel-content {
         position: absolute;
         top: 50%;
         left: 45%;
         transform: translate(-40%, -40%);
         text-align: center;
         z-index: 50;
      }
      .carousel-title {
         font-size: 48px;
         color: black;
         margin-bottom: 1rem;
         font-family: Times New Roman;
      }
      .slideshow {
         position: relative;
         height: 100%;
         overflow: hidden;
      }
      .wrapper {
         display: flex;
         width: 400%;
         height: 100%;
         top: 10%;
         border-radius: 30%;
         position: relative;
         animation: motion 20s infinite;
      }
      .slide {
         width: 80%;
         height: 200%;
         border-radius: 30%;
      }
      .img {
         width: 100%;
         height: 100%;
         object-fit: cover;
      }
      @keyframes motion {
         0% {left: 0;}
         10% {left: 0;}
         15% {left: -100%;}
         25% {left: -100%;}
         30% {left: -200%;}
         40% {left: -200%;}
         45% {left: -300%;}
         55% {left: -300%;}
         60% {left: -200%;}
         70% {left: -200%;}
         75% {left: -100%;}
         85% {left: -100%;}
         90% {left: 0%;}
      }
      .button {
         position: absolute;
         bottom: 3%;
         left: 50%;
         width: 1.3rem;
         height: 1.3rem;
         background-color: red;
         border-radius: 50%;
         border: 0.2rem solid #d38800;
         outline: none;
         cursor: pointer;
         transform: translateX(-50%);
         z-index: 70;
      }
      .button-1 {
         left: 20%;
      }
      .button-2 {
         left: 25%;
      }
      .button-3 {
         left: 30%;
      }
      .button-4 {
         left: 35%;
      }
      .button-1:focus~.wrapper {
         animation: none;
         left: 0%;
      }
      .button-2:focus~.wrapper {
         animation: none;
         left: -100%;
      }
      .button-3:focus~.wrapper {
         animation: none;
         left: -200%;
      }
      .button-4:focus~.wrapper {
         animation: none;
         left: -300%;
      }
      .button:focus {
         background-color: black;
      }
   </style>
</head>
<body>
   <div class= "box">
      <h1 id="Responsive-Carousel-using-CSS"> Responsive Carousel using CSS </h1>
      <div class= "content">
         <div class= "carousel-content">
         </div>
         <div class= "slideshow">
            <button class= "button button-1"> </button>
            <button class= "button button-2"> </button>
            <button class= "button button-3"> </button>
            <button class= "button button-4"> </button>
            <div class= "wrapper">
               <div class= "slide">
                  <img  src="/static/imghwm/default1.png"  data-src="https://wallpapercave.com/wp/wp2782600.jpg?x-oss-process=image/resize,p_40"  class="lazy"  class= "img" src= "https://www.tutorialspoint.com/static/images/simply-easy-learning.jpg" alt="如何借助CSS创建一个旋转木马?" >
               </div>
               <div class= "slide">
                  <img  src="/static/imghwm/default1.png"  data-src="https://wallpapercave.com/wp/wp2782600.jpg?x-oss-process=image/resize,p_40"  class="lazy"  class= "img" alt="如何借助CSS创建一个旋转木马?" >
               </div>
               <div class= "slide">
                  <img  src="/static/imghwm/default1.png"  data-src="https://i.insider.com/5fd90e7ef773c90019ff1293?   style="max-width:90%"  class="lazy"  class= "img" alt="如何借助CSS创建一个旋转木马?" >
               </div>
               <div class= "slide">
                  <img  src="/static/imghwm/default1.png"  data-src="https://wallpaperaccess.com/full/1164582.jpg?x-oss-process=image/resize,p_40"  class="lazy"  class= "img" alt="如何借助CSS创建一个旋转木马?" >
               </div>
            </div>
         </div>
      </div>
   </div>
</body>
</html>

CSS Transform 属性

要修改视觉格式模型所使用的坐标空间,请使用CSS中的transform属性。通过这样做,可以对元素应用倾斜、旋转和平移等效果。

语法

transform: none| transform-functions| initial| inherit;

价值观

  • translate(x, y) − 此函数定义了沿X和Y坐标的平移。

  • translate3d(x, y, z) − 此函数提供了沿X、Y和Z坐标轴的平移。

  • initial − 将元素设置为其默认值。

  • inherit − 它继承父元素的值。

CSS动画

CSS的animation属性允许我们在一定的时间间隔内更改元素的各种样式属性,从而给它添加动画效果。

动画的一些特性如下:

  • Animation-name - 它允许我们指定动画的名称,后续由@keyframes使用该名称来指定要执行该动画的CSS规则。

  • 动画持续时间 - 设置动画的持续时间

  • 动画时间函数 - 表示动画的速度曲线,即动画从一组CSS自定义属性变化到另一组所使用的时间间隔。

  • Animation-delay – 在给定的时间间隔内为起始值设置延迟

@keyframes用于指定在给定的时间段内动画中需要执行的代码。这是通过在动画期间为某些特定的“帧”声明CSS属性来实现的,百分比从0%(动画的开始)到100%(动画的结束)。

以上是如何借助CSS创建一个旋转木马?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:tutorialspoint。如有侵权,请联系admin@php.cn删除
Draggin&#039;和droppin&#039;在反应中Draggin&#039;和droppin&#039;在反应中Apr 17, 2025 am 11:52 AM

React生态系统为我们提供了许多库,所有库都集中在拖放的相互作用上。我们有反应,反应,可爱dnd,

快速软件快速软件Apr 17, 2025 am 11:49 AM

最近有一些关于快速软件的完美互连的事情。

带有背景折叠的嵌套梯度带有背景折叠的嵌套梯度Apr 17, 2025 am 11:47 AM

我可以说我经常使用背景折叠。 IT Wager IT几乎从未在日常CSS工作中使用。但是在斯特凡·朱迪斯(Stefan Judis)的帖子中,我想起了它,

使用React Hooks使用requestAnimationFrame使用React Hooks使用requestAnimationFrameApr 17, 2025 am 11:46 AM

使用RequestAnimationFrame进行动画化应该很容易,但是如果您还没有彻底阅读React的文档,那么您可能会遇到一些事情

需要滚动到页面顶部吗?需要滚动到页面顶部吗?Apr 17, 2025 am 11:45 AM

向用户提供此链接的最简单方法是针对元素上的ID的链接。如此...

最好的(GraphQl)API是您编写的API最好的(GraphQl)API是您编写的APIApr 17, 2025 am 11:36 AM

听着,我不是GraphQL专家,但我确实喜欢与之合作。作为前端开发人员,它向我曝光数据的方式非常酷。它就像一个菜单

在保留边框半径的同时,扩展盒子的各种方法在保留边框半径的同时,扩展盒子的各种方法Apr 17, 2025 am 11:19 AM

我最近注意到Codepen的一个有趣的更改:在悬停在主页上的笔时,有一个矩形,圆角在后面扩展。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器