用css实现5中不同效果的轮播图

用css实现5种不同效果轮播图

前言:

学习css时,轮播图是一个不可跨越的重点,本人在学习中也去网上搜索过,但是由于网上的教程各种各样,导致本人耗费了很长时间才能找到自己需要的某种效果的轮播图.为了避免有些同伴出现我这种情况,故写下这篇博客,供大家参考

正文:

第一种效果:

效果图:
第一种效果图
这是一种比较常见的轮播效果图,下面来看代码:
定义最外层大盒子:

    <!-- 最外层大容器 -->
   <div class="slide_out"></div>

定义最内部盒子:

 <!-- 最外层大容器 -->
   <div class="slide_out">
    <!-- 内部容器 -->
       <div class="slide_in">
       
      </div>
   </div>

定义放图片的盒子:

 <!-- 最外层大容器 -->
   <div class="slide_out">
    <!-- 内部容器 -->
       <div class="slide_in">
             <!-- 放图片的容器 -->
           <div class="slide_items1 slide_items">
              	 <img src="E:/小组学习/考核项目/web/updown/xm_updown/slide1.jpg" alt="">
           </div>
           <div class="slide_items2 slide_items">
           		 <img src="E:/小组学习/考核项目/web/updown/xm_updown/slide2.webp" alt="">
           </div>
           <div class="slide_items3 slide_items">
           		 <img src="E:/小组学习/考核项目/web/updown/xm_updown/slide1.jpg" alt="">
           </div>
      </div>
   </div>

注意:

这里的首尾两张图片是一样的,这样写的原因是:若不一样,最好一张图轮播完后,突然切换到第一张会很生硬,而在最后一张图后面再添加一张头部的图片来实现过渡效果。

CSS:
给最外层的盒子定义宽度与高度:

 /* 设置最外层大盒子的宽度(设置成轮播图片的宽度,即呈现给用户可见的宽度)*/
        .slide_out{
        	overflow:hidden; /*用来将内层盒子多余出来的部分隐藏*/
            width:960px;
            height:400px;
            margin:0 auto;
            background:lightblue;
        }

给最内层的盒子定义宽度与高度:

     /* 设置内部容器盒子的宽度(设置成所要轮播的n-1个图片的宽度) */
        .slide_in{
            position:relative;/* 这里是用定位属性来实现图片的移动,当然也可以利用边距margin来实现,用margin的话就不用开启定位了*/
            width:2880px;
            height:100%;
            background:pink;
            animation:slide_carton 5s linear 3s infinite;/* 给内层盒子添加动画属性,来实现轮播效果*/
        }

设置放图片的盒子以及图片的属性:

	     /* 设置轮播图片所在盒子的属性 */
        .slide_items{
            position:absolute;
            width:960px;
            height:100%;
            background:lightgreen;
        }
        /* 调整一下图片大小 */
        .slide_items img{
            width:100%;
            height:100%;
        }
        /*注意:由于楼主给放图片的盒子开启了定位属性,默认所有盒子会叠在一起,所以这里调整每个盒子的位置,让他们在水平方向上排列一排*/
        .slide_items2{
            left:960px;
        }
        .slide_items3{
            left:1920px;
        }
	

最后就是动画属性啦:

	    /* 设置轮播动画 */
        @-webkit-keyframes slide_carton{
            0%{
                left:0;
            }
            15%{
                left:0;
            }
            30%{
                left:0;
            }
            60%{
                left:-960px;
            }
            75%{
                left:-960px;
            }
            90%{
                left:-1920px;
            }
            100%{
                left:-1920px;
            }
        }

第二种效果:

实现折回效果,效果图:第二种效果
其实这种效果和第一种的代码没有太大的出入,只是在动画属性中,让最后一张图从90%多(可选)快速切换到100%的效果。

CSS:

        @-webkit-keyframes slide_carton{
            0%,100%{
                left:0;
            }
            15%{
                left:0;
            }
            30%{
                left:0;
            }
            60%{
                left:-960px;
            }
            75%{
                left:-960px;
            }
            90%{
                left:-1920px;
            }
            95%{
                left:-1920px;
            }
        }

第三种效果:
第三种效果称它为”淡出“效果吧。是利用透明属性opacity实现的

效果:

需要修改之前代码的部分:

第四种效果:

由于gif图片大小受限,暂时上传不来,故去截取其他官网的图片:
第四种
类似于这种轮播,采取的思路是:设置一个透明的滑块,给它设置动画,已到达和轮播图同步的效果。当然也可以实现以下这种效果(当然不能点击切换):
轮播四

由于自己实现的效果不能上传,这里就不再放代码了
第五种效果:
本种实现的效果是点击切换:

第五种效果
采用单选按钮实现:

代码:

	    <div class="slide">
            <!-- 单选按钮,注意name属性一致 -->
            <input type="radio" name="pic" checked="checked" class="input1">
            <img src="E:/小组学习/考核项目/web/updown/xm_updown/slide1.jpg" alt="" class="img1">
            <input type="radio" name="pic" class="input2">
            <img src="E:/小组学习/考核项目/web/updown/xm_updown/slide2.webp" alt="" class="img2">
        </div>
        /* 设置外层盒子 */
        .slide{
        	position: relative;
            width:960px;
            height:400px;
            margin:0 auto;
            background:lightblue;
        }
        /* 将图片开启定位,图片默认设为不显示(透明) */
        img{
            position:absolute;
            width:960px;
            height:400px;
            opacity:0;
        }
        /* 单选按钮开启定位,开启z-index属性,使其位于图片上面显示 */
        input{
            position: absolute;
            z-index:15;
            bottom:10px;
        }
        /* 两个单选按钮的位置 */
        .input1{
            right:30px;
        }
        .input2{
            right:10px;
        }
        /* 利用属性选择器和相邻兄弟选择器,实现切换 */
        input:checked + img{
            opacity:1;
        }

以上就是本文介绍的5种轮播效果,希望能帮助到大家。另外,若有不足,请指出或者提出建议啦 ( •̀ ω •́ )✧

### 回答1: 叠卡片轮播样式是一种常见的网页设计效果,适用于展示图片、产品、新闻等内容的切换展示。下面举个案例来说明。 假设我们有一个商城网站,需要在首页展示最新的产品。我们可以使用叠卡片轮播样式来呈现这些产品。 首先,我们需要准备产品的图片、标题和描述。然后,将这些内容放置在一个容器,并设置容器的宽度和高度。接下来,我们使用CSS来设置容器的样式,比如边框、背景色等。同时,我们还需要设置容器的位置为相对定位,以便后续的层叠效果。 然后,我们使用JavaScript来实现轮播效果。首先,我们需要给容器添加一个唯一的ID,方便后续的元素选择和操作。然后,我们获取到容器及其的内容(图片、标题、描述)的DOM元素。接着,我们可以设置一个定时器,在一定的时间间隔内,通过改变容器的样式实现卡片的切换效果。 具体来说,我们可以通过改变容器的z-index属性,将当前显示的卡片设置为最上层,其他卡片设置为较低层次。可以使用一个变量来记录当前显示的卡片的索引,每次切换时更新该变量的值。然后,我们可以使用过渡动画效果,让卡片在切换过程具有平滑的过渡效果。 此外,我们还可以添加一些交互功能,比如鼠标悬停时停止轮播,点击卡片时跳转到相应的产品详情页面等。 总之,叠卡片轮播样式是一种简洁、实用的网页设计效果,通过合理运用CSS和JavaScript,可以实现漂亮的轮播效果,提升用户体验。 ### 回答2: 叠卡片轮播样式是一种常见的网页展示效果,它以卡片的形式叠在一起进行轮播,给用户带来丰富的视觉体验。以下是一个关于叠卡片轮播样式的案例说明: 这个案例是一个旅游网站的首页轮播图设计。整个轮播图的尺寸为800px*400px,采用了叠卡片的样式呈现。每张卡片的大小为800px*400px,且位置相对固定,每次只显示一张卡片。 在轮播过程,卡片会从底部扩散状叠放在一起,形成堆积的效果。在卡片堆叠的最上面,显示当前活动的卡片内容,其他卡片以透明的状态叠放在下方。每隔一段时间,轮播图会自动切换到下一张卡片,形成滑动的动画效果。 用户可以通过向左或向右滑动,手动切换到上一张或下一张卡片。当鼠标移到轮播图上方,会显示一个左右箭头图标,用户可以点击箭头图标切换卡片。同时,在每张卡片的底部,有对应的小圆点表示当前卡片的位置,用户点击小圆点可以直接跳转到指定的卡片。 每个卡片内部内容都可以自由设计,可以包括图片、文字、按钮等元素,以便吸引用户的注意力。而且,设计师还可以采用动态效果,例如图片的切换、文字的渐变等,提高用户的浏览体验。 总之,叠卡片轮播样式案例通过简洁的设计和动态的展示形式,能够给用户带来视觉上的冲击和浏览的乐趣,使网页更加生动有趣。 ### 回答3: 叠卡片轮播是一种常见的网页设计样式,通常用于展示多个内容块或项目。在这种样式,多个卡片以重叠的方式呈现,并且可以通过滑动或点击来切换不同的卡片内容。 实现叠卡片轮播样式可以通过以下步骤进行: 1. HTML结构:首先,在HTML创建一个包含卡片的容器。每个卡片可以使用一个div元素或者其他合适的HTML标签表示。为了实现叠卡片效果,可以给每个卡片添加一个类名,并设置其定位属性为绝对定位。 2. CSS样式:通过给卡片添加合适的样式实现叠卡片效果。可以使用z-index属性来控制卡片的层叠顺序,使其重叠在一起。同时,可以添加不同的过渡效果或动画来实现切换卡片时的平滑过渡效果。 3. JavaScript交互:通过JavaScript来实现卡片的切换功能。可以使用事件监听器来监听滑动或点击事件,当触发这些事件时,在卡片间进行切换。可以根据需要添加自动切换功能,通过定时器在一定的时间间隔内自动切换卡片。 总的来说,叠卡片轮播样式是一种常见的网页设计效果,通过合适的HTML结构、CSS样式和JavaScript交互,可以实现一个具有叠卡片效果的轮播。这种样式可以使页面内容更加多样化和吸引人,提升用户体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值