外链论坛

 找回密码
 立即注册
搜索
查看: 78|回复: 1

手把手教你用纯css3实现轮播图效果

[复制链接]

2899

主题

1万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96066391
发表于 2024-6-29 14:18:59 | 显示全部楼层 |阅读模式

1、前言

css3动画效果的强大不问可知,自它显现始终热度不减,它与js动画的优劣始终作为前端界争论的专题,不可置疑的是css3动画的出此刻必定程度上降低了动画效果的实现难度,利于前端的学习,其精简的代码量把咱们从烦人的js调试中解放出来,当然css的动画效果有其局限性,咱们不可只用css3模拟出全部的便是动画,另一便是浏览器的兼容性问题。咱们这次用css3实现一个轮播图效果,体验一下css3的强大。

首要说明咱们可次只实现了自动轮播,效果是最平常的淡入淡出,并未实现点击轮换效果,最少在我日前水平来看,自动轮播与点击轮换两者纯css3只能选其一,倘若能够同期实现两种效果的办法,请告诉我。

2、布局

<section class="slider-contaner"> <ul class="slider"> <li class="slider-item slider-item1"></li> <li class="slider-item slider-item2"></li> <li class="slider-item slider-item3"></li> <li class="slider-item slider-item4"></li> <li class="slider-item slider-item5"></li> </ul> </section>

html代码什么可说的,样式的话首要必定slider的大盒子必定是相对定位,另一咱们采用在li标签中添加bac公斤round-image,由于这般才有可能用纯的css实现响应式,另一背景图为了在响应式中看清全貌,必然运用bac公斤round-size:100%,另一便是高度问题了,显然slider-container必需是和li的高度一致,由于响应式中必然这个高度不可固定死,因此运用height属性显然不行,padding属性能够处理这个问题,一是bac公斤round-image能够表示在padding中,二是padding中以%为单位是以父元素宽度为基准的。

*{ margin:0; padding:0; } ul,li{ list-style: none; } .floatfix { *zoom: 1; } .floatfix:after { content: ""; display: table; clear: both; } .slider-contaner{ width:100%; position:relative; } .slider,.slider-item{ padding-bottom:40%; } .slider-item{ width:100%; position:absolute; bac公斤round-size:100%; } .slider-item1{ bac公斤round-image:url(imgs/1.jpg); } .slider-item2{ bac公斤round-image:url(imgs/2.jpg); } .slider-item3{ bac公斤round-image:url(imgs/3.jpg); } .slider-item4{ bac公斤round-image:url(imgs/4.jpg); } .slider-item5{ bac公斤round-image:url(imgs/5.jpg); }

3、设计动画

淡入淡出效果肯定是运用opacity,首要整体来看所有照片的淡入淡出都是同一个动画,只是时间不同样罢了,这肯定

回复

使用道具 举报

2878

主题

1万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109671
发表于 4 天前 | 显示全部楼层
楼主发的这篇帖子,我觉得非常有道理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-10-18 21:22 , Processed in 0.065339 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.