使用html和css实现轮播图的两种方法

(一)

实现方式:
css3的动画属性
animation: name duration timing-function delay iteration-count direction fill-mod

animation-name: 规定需要绑定到选择器的 keyframe 名称。
animation-duration: 规定完成动画所花费的时间,以秒或毫秒计。
animation-timing-function: 规定动画的速度曲线。
animation-delay: 规定在动画开始之前的延迟。
animation-iteration-count: 规定动画应该播放的次数。
animation-direction: 规定是否应该轮流反向播放动画。

css3的@keyframes规则

@keyframes{

0%,23%{

    margin-left:0px;

}

...

}

给每个动画及暂停分配时间,按照总时间的百分比分配;

实践的问题

以三张图片为例制作轮播图,若将最后的数值设置为100%,出现问题在于最后一张到第一张的切换没有动画;尝试给最后一张图片到第一张图片的动画时间,但是中间的切换效果是从最后一张向右滑动直到显示出第一张图,其效果反人类,不美观;但是,通过尝试在最后的一张图片后面在添加一张与第一张相同的图片,可实现循环的效果;

具体内容:
<!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>轮播图</title>
    <link rel="stylesheet" href="./Text001.css">
</head>

<body>
    <div>
        <ul>
            <li><img src="../Text_Img/hc2021-cn-1.jpg" alt=""></li>
            <li><img src="../Text_Img/hwcloud-promotion-10-3.jpg" alt=""></li>
            <li><img src="../Text_Img/vmall-nova9-2.jpg" alt=""></li>
            <li><img src="../Text_Img/hc2021-cn-1.jpg" alt=""></li>
        </ul>
    </div>
</body>

</html>
*{
    margin: 0px;
    padding: 0px;
}
.div{
    width: 1519px;
    height: 512px;
    /* 居中 */
    margin: 0px auto;
    /* 用于隐藏超出展示容器的部分内容 */
    overflow: hidden;
    border: 1px solid black;
}
ul{
    width: 9595px;
    height: 512px;
    
    animation: switch 5s infinite linear;
}
ul li{
    list-style: none;
    float: left;
}
ul li img{
    width: 1519px;
    height: 512px;
}
@keyframes switch{
    0%,21%{
        margin-left: 0px;
    }
    26%,47%{
        margin-left: -1519px;
    }
    52%,73%{
        margin-left: -3038px;
    }
    78%,100%{
        margin-left: -4557px;
    }
}
/* 鼠标滑过图片停止滚动 */
div:hover ul{
    animation-play-state: paused;
}
效果展示
轮播图01

(二)

实现方式

方法与一中大致相同,唯一更改的地方是css3的@keyframes规则里面的内容

@keyframes{
    from{
        margin-left: 0px;
    }
    to{
        margin-left: -1519px;
    }
    ...
}
实践的问题:

若只将要显示的三张图片导入,会出现最后一张图片到第一张图片没有动画效果;通过尝试在最后的一张图片后面在添加一张与第一张相同的图片,可实现循环的效果;

问题在于图片一直处于切换状态,中间没有停顿;

具体内容
*{
    margin: 0px;
    padding: 0px;
}
.div{
    width: 1519px;
    height: 512px;
    /* 居中 */
    margin: 0px auto;
    /* 用于隐藏超出展示容器的部分内容 */
    overflow: hidden;
    border: 1px solid black;
}
ul{
    width: 9595px;
    height: 512px;

    animation: switch 10s infinite linear;
}
ul li{
    list-style: none;
    float: left;
}
ul li img{
    width: 1519px;
    height: 512px;
}
@keyframes switch{
    from{
        margin-left: 0px;
    }
    to{
        margin-left: -4557px;
    } 
    
/* 鼠标滑过图片停止滚动 */
div:hover ul{
    animation-play-state: paused;
}
效果展示
轮播图02
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • 前言:css3中的animation方法,可以帮助我们实现图片自动播放的效果。 css3的动画属性:下列表格中列举...
    何治国阅读 1,888评论 0 0
  • 实现思路: 需求: 实现三张图片无缝轮播 1: 定义一个父级div , 这个div的宽度为轮播图片元素的宽度 本文...
    偷石头的人儿阅读 2,208评论 0 3
  • 今天是大年三十,猴年最后一天。为了完成自己在年初定的每周一篇前端周记的目标,又因为之后就要开启疯狂百年模式,所以决...
    ac68882199a1阅读 19,051评论 13 38
  • 首先先看demo吧,点击查看demo 一、随便说几句 css3动画效果的强大不言而喻,自它出现一直热度不减,它与j...
    忽如寄阅读 51,317评论 17 55
  • 引用CSS方式 内部引用 html文件中写一个 标签,并将样式写入到里面,举例: 外部引用 通过 标签实现,里面有...
    dawsonenjoy阅读 450评论 0 0