基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效

article/2025/9/25 0:24:31

本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转、无限滚动、文字跳动;实现起来均比较容易,动手来试试!

一、图片旋转

效果图如下:

这个效果实现起来其实并不困难。代码清单如下:

<style type="text/css">  #liu{  width:280px;  height: 279px;  background: url(shishi.png) no-repeat;  border-radius:140px;  -webkit-animation:run 6s linear 0s infinite;  }  #liu:hover{  -webkit-animation-play-state:paused;  }  @-webkit-keyframes run{  from{  -webkit-transform:rotate(0deg);  }  to{  -webkit-transform:rotate(360deg);  }  }  </style>  <div id="liu"></div>  

1. id为liu的div就是用来展示图片的区域,只不过这里的图片是使用的背景图片,并且通过设置圆角来达到圆形的效果。

2. 代码中关键的部分是怎样使得图片无限转动。我们可以使用-webkit-animation和@-webkit-keyframes组合使用来完成。

-webkit-animation是一个复合属性,定义如下:
-webkit-animation: name duration timing-function delay iteration_count direction;
name: 是@-webkit-keyframes 中需要指定的方法,用来执行动画。
duration: 动画一个周期执行的时长。
timing-function: 动画执行的效果,可以是线性的,也可以是"快速进入慢速出来"等。
delay: 动画延时执行的时长。
iteration_count: 动画循环执行次数,如果是infinite,则无限执行。
direction: 动画执行方向。

3. @-webkit-keyframes 中的from和to 两个属性,就是指定动画执行的初始值和结束值。

4. -webkit-animation-play-state:paused; 暂停动画的执行。

二、无限滚动

其实关于无限滚动的实现,我们先看看效果图:

我们这里采用HTML5+CSS3实现,比用JQuery简单的多了,下图为逻辑分析图:

分析完毕后,代码就方便书写了,代码清单如下:

<style type="text/css">  *{  margin: 0;  padding: 0;  }  #container{  width:800px;  height:200px;  margin:100px auto;  overflow: hidden;  position: relative;  }  #container ul{  list-style: none;  width:4000px;  left:0;  top:0;  position: absolute;  -webkit-animation:scoll 6s linear 0s infinite;  }  #container ul li{  float:left;  margin-right:20px;  }  @-webkit-keyframes scoll{  from{  left:0;  }  to{  left:-1100px;  }  }   </style>  <div id="container">  <ul>  <li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/0.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/1.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/2.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/3.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/4.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/0.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/1.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/2.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/3.png"></a>  </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/4.png"></a>  </li></ul>  
</div>  

三、文字跳动

我们经常可以看到用flash完成的一些文字跳动效果,不过,现在我们也可以通过HTML5+CSS3来轻松的实现这样的效果,效果图如下:

 

思路分析:

1. 由于文字有层次感的跳动,所以我们应该 "各个击破", 每个文字有它自己的 "空间"。

2. 各个文字有先有后的跳动,所以我们应该一次递增每个文字的动画时长。

根据以上两点分析,我们依旧可以使用-webkit-animation 和@-webkit-keyframes 组合来完成动画效果,代码清单如下:

<style type="text/css">  h2 span{  float:left;  position: relative;  }  h2 span:nth-child(1){  -webkit-animation:jump 1s linear 0s infinite alternate;  }  h2 span:nth-child(2){  -webkit-animation:jump 1s linear 0.2s infinite alternate;  }  h2 span:nth-child(3){  -webkit-animation:jump 1s linear 0.4s infinite alternate;  }  h2 span:nth-child(4){  -webkit-animation:jump 1s linear 0.6s infinite alternate;  }  h2 span:nth-child(5){  -webkit-animation:jump 1s linear 0.8s infinite alternate;  }  @-webkit-keyframes jump  {  0%{  top:0px;  color:red;  }  50%{  top:-10px;  color:green;  }  100%{  top:10px;  color:blue;  }  }  </style>  <h2>  <span></span>  <span></span>  <span></span>  <span></span>  <span></span>  
</h2>  

需要说明一点的是:span标签默认是行内元素;但是对他们进行float操作之后,他们会变成块级元素。


http://chatgpt.dhexx.cn/article/6T2UIoEa.shtml

相关文章

内存碎片产生原因及终极解决办法

内存碎片通常分为内部碎片和外部碎片&#xff1a; 1. 内部碎片是由于采用固定大小的内存分区&#xff0c;当一个进程不能完全使用分给它的固定内存区域时就产生了内部碎片&#xff0c;通常内部碎片难以完全避免&#xff1b; 2. 外部碎片是由于某些未分配的连续内存区域太小&…

6、Redis内存碎片优化

1、Redis内存碎片是如何形成的 一是内存分配器的分配策略&#xff0c;内存分配器一般是按固定大小来分配内存&#xff0c;而不是按实际使用大小来分配。例如8字节、16字节、32字节...&#xff0c;2KB&#xff0c;4KB&#xff0c;8KB等&#xff0c;按程序申请时最接近某个固定值…

内存碎片处理技术

内存碎片处理技术 内存碎片是一个很棘手的问题。如何分配内存决定着内存碎片是否会、何时会、如何会成为一个问题。 即使在系统中事实上仍然有许多空闲内存时&#xff0c;内存碎片还会最终导致出现内存用完的 情况。一个不断产生内存碎片的系统&#xff0c;不管产生的内存碎片…

内存碎片产生原因及处理

内存碎片是一个很棘手的问题。如何分配内存决定着内存碎片是否会、何时会、如何会成为一个问题。  即使在系统中事实上仍然有许多空闲内存时&#xff0c;内存碎片还会最终导致出现内存用完的情况。一个不断产生内存碎片的系统&#xff0c;不管产生的内存碎片多么小&#xff0…

什么是Redis内存碎片率?碎片如何清理?

Redis服务器内存不够用了&#xff0c;这时可以看看是否是内存碎片的原因&#xff0c;不一定只能靠内存扩容来处理。 一、碎片率的计算 我们登陆到Redis服务器上&#xff0c;执行以下命令&#xff1a; info memory我们会看到如下的信息&#xff1a; 其中mem_fragmentation_r…

Redis 内存碎片详解

什么是内存碎片? 你可以将内存碎片简单地理解为那些不可用的空闲内存。 举个例子&#xff1a;操作系统为你分配了 32 字节的连续内存空间&#xff0c;而你存储数据实际只需要使用 24 字节内存空间&#xff0c;那这多余出来的 8 字节内存空间如果后续没办法再被分配存储其他数…

redis之内存碎片问题如何解决

写在前面 本文一起看下如何处理Redis的内存碎片问题。 1&#xff1a;什么是内存碎片 当操作系统内存充足&#xff0c;但是却无法申请连续N字节内存空间时&#xff0c;这些剩余的内存空间就叫内存碎片。 2&#xff1a;内存碎片是如何形成的 内存碎片的形成有两方面的因素&a…

如何解决内存碎片

内存碎片的产生&#xff1a; 内存分配有静态分配和动态分配两种 静态分配在程序编译链接时分配的大小和使用寿命就已经确定&#xff0c;而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能&#xff0c;这就是内存的动态分配。 因此动态分配…

内存中,外部碎片与内部碎片,解决办法

什么是内部碎片、外部碎片 外部碎片&#xff0c;是由于大量信息由于先后写入、置换、删除而形成的空间碎片。为了便于理解&#xff0c;我们将信息比作货物&#xff0c;将存储空间比作仓库来举例子。假设&#xff0c;我们有编号为1、2、3、4、5、6的6间仓库库房&#xff0c;前天…

内存碎片

内存碎片的产生&#xff1a; 内存分配有静态分配和动态分配两种 静态分配在程序编译链接时分配的大小和使用寿命就已经确定&#xff0c;而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能&#xff0c;这就是内存的动态分配。 因此动态分配…

内存碎片---内部碎片外部碎片

内部碎片的产生&#xff1a;因为所有的内存分配必须起始于可被 4、8 或 16 整除&#xff08;视处理器体系结构而定&#xff09;的地址或者因为MMU的分页机制的限制&#xff0c;决定内存分配算法仅能把预定大小的内存块分配给客户。假设当某个客户请求一个43字节的内存块时&…

内存碎片是什么?关于内存碎片的解释

内存碎片是什么&#xff1f;关于内存碎片 内存碎片通常分为内部碎片和外部碎片。 内部碎片 所谓内部碎片指的就是&#xff0c;系统为某项功能分派了一定的内存&#xff0c;但是该功能的实现没有用完所有系统分配的。余下的部分就被成为内存碎片的内部碎片。 外部碎片 外部内存…

内存碎片概念

内存碎片是无法被系统利用的内存区域&#xff0c;分为外部碎片和内部碎片。 1 外部碎片 系统有空闲内存区域&#xff0c;空闲内存的总量足够&#xff0c;但应用就是分配不到空间。无法被利用的内存被称为外部碎片。假设当前系统内存布局(空白区域表示空闲内存) 例如&#xf…

内存碎片产生原因及解决方法

文章目录 1、现象描述2、原因分析3、解决方法 1、现象描述 某些应用程序频繁调用 malloc函数申请内存空间&#xff0c;且申请空间的大小差别比较大&#xff0c;使用完成后通过 free函数释放内存空间&#xff0c;但内存空间依然缓存在glibc中&#xff0c;没有归还操作系统&#…

内存碎片:理解、应用场景和防止措施

目录 摘要1. 引言2. 内存碎片的概念3. 内存碎片的产生原因4. 应用场景4.1 应用场景一&#xff1a;长时间运行的服务器4.2 应用场景二&#xff1a;嵌入式系统 5. 预防和处理内存碎片6. 示例代码&#xff1a;生成内存碎片7. 总结 摘要 本文旨在向初学者详细介绍内存碎片的概念、…

内存碎片产生原因及解决办法

来源&#xff1a;知乎 链接&#xff1a;https://www.zhihu.com/question/51836333/answer/145693402 内存碎片通常分为内部碎片和外部碎片&#xff1a; 1. 内部碎片是由于采用固定大小的内存分区&#xff0c;当一个进程不能完全使用分给它的固定内存区域时就产生了内部碎…

POLARDB IMCI 白皮书 云原生HTAP 数据库系统 一 与其他的商业数据库在HTAP的异同点(译)...

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

TiDB HTAP

TiDB 数据库 HTAP 概述 HTAP技术 OLAP和OLTP带来了多副本的问题。 HTAP的要求 HTAP的架构 异步复制&#xff0c;不参与投票。 HTAP的特性 行列混合 列存支持基于主键的实时更新TiFlash作为列存副本OLTP和OLAP业务隔离 智能选择&#xff08;CBO自动或者人工选择&#xff09;…

如何给一个 HTAP 数据库做基准测试?StoneDB学术分享会第4期

在最新一届国际数据库顶级会议 ACM SIGMOD 2022 上&#xff0c;来自清华大学的李国良和张超两位老师发表了一篇论文&#xff1a;《HTAP Database: What is New and What is Next》,并做了 《HTAP Database&#xff1a;A Tutorial 的专项报告。这几期学术分享会的文章&#xff0…

​网易游戏实时 HTAP 计费风控平台建设

本文整理自网易互娱资深工程师, Flink Contributor, CDC Contributor 林佳&#xff0c;在 FFA 实时风控专场的分享。本篇内容主要分为五个部分&#xff1a; 实时风控业务会话会话关联的 Flink 实现HTAP 风控平台建设提升风控结果数据能效发展历程与展望未来 众所周知&#xff…