缩略图

网页中图片轮播效果的实现方法

作者

任贤良 黄克军 龚文芳

1衢州学院电气与信息工程学院电气工程及其自动化专业在读学生 2衢州学院电气与信息工程学院 浙江衢州 324000 3衢州学院质量监控与评估中心 浙江衢州 324000

众多网站铺天盖地,如产品宣传类、企业文化类、印象城市类、地域风土人情类、摄影赏析类等等,在页面的各种动态效果中,图片轮播效果的使用程度非常高。所谓轮播,是指在电脑浏览器中通过鼠标点击,触屏设备中通过手指滑动,或设置定时器等方式使得数张图片在同一个位置有规律地滚动播放,通过动态地变换图片来达到吸引用户注意并点击链接的 目的,让用户接受讯息的同时,享受网页设计带来的美学效应。

一、轮播效果概述

(1)示例效果

本文示例的轮播效果为入门级:三张图片以淡入效果(透明度逐渐变小)的方式依次显示,第三张图片播放结束后自动显示第一张,每张图片的间隔时间一致,达到轮播的效果。

(2)设计原理

运用 HTML、CSS、JavaScript 三大语言,完成整个轮播效果从布局到运行的实现,吸引更多用户进行访问。其中HTML 搭建总体框架,CSS用来控制网页外观的规则,增加网页的外观效果(包括透明、边框等),JavaScript 辅助用户得到更好的画面效果,同时保证代码和内容的分离。

二、设计过程

1. HTML布局

HTML (Hyper Text Markup Language)为超文本标记语言,它用来定义网页内容的含义和结构。

以三张图片(001.jpg,002.jpg,003.jpg)轮播为例,将每张图片的地址作为列表项内容放入无序列表中,为了保持循环,可以在三张结束后继续添加两张。以上所有元素都放在一个大的 div 容器中,名称为 box。

<div class="box" id="apDiv1">

<ul>

<li><img src="001.jpg" width="1350" height="500"></li>

<li><img src="002.jpg" width="1350" height="500"></li>

<li><img src="003.jpg" width="1350" height="500"></li>

<li><img src="001.jpg" width="1350" height="500"></li>

<li><img src="002.jpg" width="1350" height="500"></li>

</ul>

</div>

对具体放置图片的apDiv1图层进行属性设置,高度500px、宽度1350px都和一张图片大小保持一致,并对其在网页中的位置进行了精准定位。

#apDiv1 {

position: absolute;

width: 1350px;

height: 500px;

z-index: 1;

left: 204px;

top: 143px;

}

2. CSS 样式

CSS (Cascading Style Sheets)为层叠样式表,是一种用来表现 HTML 或 XML 等文件样式的计算机语言。

(1)通过最外层的大盒子box对显示内容进行整体控制,设置其宽度、高度以及边框样式。

*{margin:0;

padding:0;

}

.box{

width: 6750px;

height: 500px;

border:10px solid #3CC;

overflow:hidden;

}

(2)设置大盒子box内的放置图片的容器大小,宽度和box一致,也和HTML中设置的五张图片总宽度对应。同时设置每张图片的出场时间为8秒。

.box ul {

height: 100%;

width: 6750px;

list-style:none;

animation:move 8s infinite ;

}

.box li {

height: 100%;

width: 1350px;

float:left;

}

.box li img{

width: 100%;

}

.box-div {

position:absolute;

width: 1350px;

display:flex;

bottom:20px;

left:40%

}

3.JavaScript 语句

JavaScript一种直译式脚本语言,用来给HTML网页添加各式各样的动态效能,为用户 提供更流畅美观的浏览效果,在Web页面开发中被广泛运用。

最为关键的淡入出场效果由JavaScript语句实现,示例设置每张图片由0.5-0.9-1淡入出现,opacity的值即为透明度。同时要对图片的出场时间进行计算,三张图片意味着每张占用约33.3%,在第一张出场(从右至左,为-1350px)完成后,第二张接着出场(从右至左,为-2750px……以此类推。

@keyframes move

{

0%{transform:translate(0,0);opacity:0.5;}

15%{transform:translate(-1350px,0);opacity:0.5;}

30%{transform:translate(-1350px,0);opacity:0.9;}

33.3%{transform:translate(-1350px,0);opacity:1;}

45%{transform:translate(-2700px,0);opacity:0.5;}

63%{transform:translate(-2700px,0);opacity:0.9;}

66.6%{transform:translate(-2700px,0);opacity:1;}

80%{transform:translate(-4050px,0);opacity:0.5;}

96%{transform:translate(-4050px,0);opacity:0.9;}

99.9%{transform:translate(-4050px,0);opacity:1;}

}

三、结语

在互联网飞速发展的当下,网页设计看似一项简单的工作,其实不然,设计出有特点、吸引浏览者的网页,恰恰需要进行精心设计。本文运用 HTML、CSS、JavaScript 三大语言,轻松实现一种常用且简单的图片轮播效果,让网页充满生命力,带来良好的美学效应和用户体验效果。

参考文献:

[1]周芷仪,陈 婷.浅谈网页中实现图片轮播图效果的方法[J].软件.2018.

基金项目:《网页设计》省级线上一流课程建设项目阶段性研究成果

1.作者简介:黄克军,男,讲师,硕士,研究方向为教育技术应用。