百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

号外:CSS3也可以如此优雅——图片无缝滚动(纯手打)

bigegpt 2024-08-27 11:56 2 浏览

昨天用js做的图片无缝滚动的效果,朋友们都说CSS3也可以实现,话说自己原来学的都是CSS2,主要用来网页静态布局,还真没想过用CSS3的动画属性。于是乎,花了一天时间在w3school上把关于CSS3动画的知识看了一遍,简单做了个图片滚动的效果,有些简陋,却也发现CSS3的功能果然强大,也有一些浏览器兼容性的问题(不过大家现在用的浏览器应该都能支持,别告诉我你还在用XP,那你真是超级怀旧派了,话说XP的确挺好)


一、关于@keyframes

这个是用来定义动画规则用的,在其中能够定义任意多样式任意多次数的动画规则,可以用百分比来规定变化发生的时间。比如0%25%50%75%100%,也可以用关键词“from”和“to”,等同于0%100%

0%是动画的开始,100%是动画的结束。一般来说,为了得到浏览器更好地支持,我们要始终定义0%100%

举个例子,我们在动画开始的时候,定义一个div元素的背景色为红色,动画到一半的时候,定义背景色为蓝色,动画结束的时候,背景色为黄色,怎么写这个动画规则?

@keyframes myfirst

{

0% {background: red;}

50% {background: blue;}

100% {background:yellow;}
}

一般来说,为了更好的适配浏览器,我们还要写几个作用于不同浏览器的规则

1、作用于Firefox浏览器

@-moz-keyframes myfirst

{

0% {background: red;}

50% {background: blue;}

100% {background:yellow;}
}

2、作用于SafariChrome浏览器

@-webkit-keyframes myfirst

{

0% {background: red;}

50% {background: blue;}

100% {background:yellow;}
}

3、作用于Opera浏览器

@-o-keyframes myfirst

{

0% {background: red;}

50% {background: blue;}

100% {background:yellow;}
}


二、关于动画属性

1animation-name:规定动画的名称

2animation-duration:规定动画完成一个周期的时长

3animation-timing-function:规定动画的曲线速度

4animation-delay:规定动画开始的时间

5animation-iteration-count:规定动画播放的次数

6animation-direction:规定动画在下个周期是否反向播放

7animation-play-state:规定动画是否正在运行或暂停

888animation:简写属性,将上边16的属性在一个表达式中体现,可以减少N多工作量。

最重要的一点,动画规则只有捆绑到某个选择器上,动画才生效。意思一看都明白,关键是要多练习实际敲几次代码运行下效果,这里我就不再累赘了。


三、图片滚动效果实战

1、摆上我们用来演示的图片。

<body>

<p>图片无缝滚动</p>

<div id="wrap">

<ul id="list">

<li>10</li>

<li>9</li>

<li>8</li>

<li>7</li>

<li>6</li>

<li>5</li>

<li>4</li>

<li>3</li>

<li>2</li>

<li>1</li>

</ul>

</div>

</body>

2、加上CSS样式

*{margin:0; padding: 0;}

p{

margin:0 auto;

text-align: center;

font-size:30px;

}

#wrap{

width:610px;

height:130px;

border:1px solid #000;

position: relative;

margin:100px auto;

overflow: hidden;

}

#list{

position: absolute;

left:0;

top:0;

width:200%;

}

#list li{

width:120px;

height:130px;

border:1px solid red;

background: pink;

color:#fff;

text-align: center;

font-size:50px;

float:left;

list-style: none;

}

3、给ul加上动画效果。为了适配不同的浏览器,还要多添加几个animation属性

#list{

position: absolute;

left:0;

top:0;

width:200%;

animation:myfirst 8s linear infinite alternate;

-moz-animation:myfirst 8s linear infinite alternate;

-webkit-animation:myfirst 8s linear infinite alternate;

-o-animation:myfirst 8s linear infinite alternate;

}

好了,大家可以看一看具体效果咯。


四、个人感受

CSS3实现图片滚动确实很轻松,效果也挺不错。还是最开始我说的,前期我们暂不必纠结到底JS方法好还是CSS3方法好,只要能把要求的效果实现了就行,进步缘于一点一滴的实践与锻炼。

谨以此与大家共勉——一个奋斗在web开发路上的小白

相关推荐

10w qps缓存数据库——Redis(redis缓存调优)

一、Redis数据库介绍:Redis:非关系型缓存数据库nosql:非关系型数据库没有表,没有表与表之间的关系,更不存在外键存储数据的形式为key:values的形式c语言写的服务(监听端口),用来存...

Redis系列专题4--Redis配置参数详解

本文基于windowsX64,3.2.100版本讲解,不同版本默认配置参数不同在Redis中,Redis的根目录中有一个配置文件(redis.conf,windows下为redis.windows....

开源一夏 | 23 张图,4500 字从入门到精通解释 Redis

redis是目前出场率最高的NoSQL数据库,同时也是一个开源的数据结构存储系统,在缓存、数据库、消息处理等场景使用的非常多,本文瑞哥就带着大家用一篇文章入门这个强大的开源数据库——Redis。...

redis的简单与集群搭建(redis建立集群)

Redis是什么?是开源免费用c语言编写的单线程高性能的(key-value形式)内存数据库,基于内存运行并支持持久化的nosql数据库作用主要用来做缓存,单不仅仅是做缓存,比如:redis的计数器生...

推荐几个好用Redis图形化客户端工具

RedisPlushttps://gitee.com/MaxBill/RedisPlusRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux...

关于Redis在windows上运行及fork函数问题

Redis在将数据库进行持久化操作时,需要fork一个进程,但是windows并不支持fork,导致在持久化操作期间,Redis必须阻塞所有的客户端直至持久化操作完成。微软的一些工程师花费时间在解决在...

你必须懂的Redis十大应用场景(redis常见应用场景)

Redis作为一款高性能的键值存储数据库,在互联网业务中有着广泛的应用。今天,我们就来详细盘点一下Redis的十大常用业务场景,并附上Golang的示例代码和简图,帮助大家更好地理解和应用Redis。...

极简Redis配置(redis的配置)

一、概述Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf,linux下的是redis.conf)你可以通过C...

什么是redis,怎么启动及如何压测

从今天起咱们一起来学习一下关于“redis监控与调优”的内容。一、Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。...

一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI

介绍P3XRedisUI这是一个非常实用的RedisGUI,提供响应式WebUI访问或作为桌面应用程序使用,桌面端是跨平台的,而且完美支持中文界面。Githubhttps://github....

windows系统的服务器快速部署java项目环境地址

1、mysql:https://dev.mysql.com/downloads/mysql/(msi安装包)2、redis:https://github.com/tporadowski/redis/r...

window11 下 redis 下载与安装(windows安装redis客户端)

#热爱编程是一种怎样的体验#window11下redis下载与安装1)各个版本redis下载(windows)https://github.com/MicrosoftArchive/r...

一款轻量级的Redis客户端工具,贼好用!

使用命令行来操作Redis是一件非常麻烦的事情,我们一般会选用客户端工具来操作Redis。今天给大家分享一款好用的Redis客户端工具TinyRDM,它的界面清新又优雅,希望对大家有所帮助!简介Ti...

一个.NET开发且功能强大的Windows远程控制系统

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍SiMayRemoteMonitorOS是一个基于Windows的远程控制系统,完...

Redis客户端工具详解(4款主流工具)

大家好,我是mikechen。Redis是大型架构的基石,也是大厂最爱考察内容,今天就给大家重点详解4款Redis工具@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集...