一款利用html5和css3动画排列人物头像的实例演示
发布时间:2014-12-05 10:03:15 作者:佚名
我要评论
这篇文章主要为大家介绍了一款利用html5和css3动画排列人物头像的实例演示,这款实例页面初始时,只有中间的美女图,然后出现微笑图,紧接着出现小的人物图,慢慢的以动画的形式排列到页面中形成一个圆环。效果很好,而且代码齐全,需要的朋友可以参考下
今天给大家分享一款html5和css3动画排列人物头像演示。这款实例页面初始时,只有中间的美女图,然后出现微笑图,紧接着出现小的人物图,慢慢的以动画的形式排列到页面中形成一个圆环。效果图如下:

实现的代码。
html代码:
XML/HTML Code复制内容到剪贴板
- <div class='stage'>
- <div class='image'>
- <img src="https://pbs.twimg.com/profile_images/529224080751202304/UNLt5nUZ_400x400.jpeg">
- <div class='smiley'>
- <svg width="30px" height="30px">
- <path fill="#effedd" d="M15,0C6.7,0,0,6.7,0,15c0,8.3,6.7,15,15,15s15-6.7,15-15C30,6.7,23.3,0,15,0z M20.5,8c1.4,0,2.5,1.1,2.5,2.5c0,1.4-1.1,2.5-2.5,2.5S18,11.9,18,10.5C18,9.1,19.1,8,20.5,8z M10.5,8c1.4,0,2.5,1.1,2.5,2.5c0,1.4-1.1,2.5-2.5,2.5S8,11.9,8,10.5C8,9.1,9.1,8,10.5,8z M15,26c-5,0-9-4-9-9h3c0,3.3,2.7,6,6,6s6-2.7,6-6h3C24,22,20,26,15,26z" /></svg>
- </div>
- </div>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- <figure class='avatar'>
- </figure>
- </div>
css3代码:
CSS Code复制内容到剪贴板
- .stage {
- position: absolute;
- top: 0;
- rightright: 0;
- bottombottom: 0;
- left: 0;
- margin: auto;
- height: 460px;
- width: 480px;
- }
- .avatar {
- position: absolute;
- top: 0;
- rightright: 0;
- bottombottom: 0;
- left: 0;
- margin: auto;
- height: 64px;
- width: 64px;
- background-repeat: no-repeat;
- background-size: cover;
- border-radius: 50%;
- -webkit-transform-origin: center;
- -ms-transform-origin: center;
- transform-origin: center;
- }
- .avatar:before {
- content: '';
- position: absolute;
- top: -8%;
- rightright: -8%;
- height: 17.06667px;
- width: 17.06667px;
- background: #bec4bc;
- border-radius: 50%;
- border: 3px solid white;
- }
- .avatar:nth-of-type(1) {
- -webkit-animation: ani1 2s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani1 2s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani1 {
- 0%, 20% {
- -webkit-transform: rotate(45deg) translate(0) rotate(-45deg);
- transform: rotate(45deg) translate(0) rotate(-45deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(45deg) translate(208px) rotate(-45deg);
- transform: rotate(45deg) translate(208px) rotate(-45deg);
- }
- }
- @keyframes ani1 {
- 0%, 20% {
- -webkit-transform: rotate(45deg) translate(0) rotate(-45deg);
- transform: rotate(45deg) translate(0) rotate(-45deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(45deg) translate(208px) rotate(-45deg);
- transform: rotate(45deg) translate(208px) rotate(-45deg);
- }
- }
- .avatar:nth-of-type(2) {
- -webkit-animation: ani2 2s 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani2 2s 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani2 {
- 0%, 20% {
- -webkit-transform: rotate(90deg) translate(0) rotate(-90deg);
- transform: rotate(90deg) translate(0) rotate(-90deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(90deg) translate(208px) rotate(-90deg);
- transform: rotate(90deg) translate(208px) rotate(-90deg);
- }
- }
- @keyframes ani2 {
- 0%, 20% {
- -webkit-transform: rotate(90deg) translate(0) rotate(-90deg);
- transform: rotate(90deg) translate(0) rotate(-90deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(90deg) translate(208px) rotate(-90deg);
- transform: rotate(90deg) translate(208px) rotate(-90deg);
- }
- }
- .avatar:nth-of-type(3) {
- -webkit-animation: ani3 2s 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani3 2s 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani3 {
- 0%, 20% {
- -webkit-transform: rotate(135deg) translate(0) rotate(-135deg);
- transform: rotate(135deg) translate(0) rotate(-135deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(135deg) translate(208px) rotate(-135deg);
- transform: rotate(135deg) translate(208px) rotate(-135deg);
- }
- }
- @keyframes ani3 {
- 0%, 20% {
- -webkit-transform: rotate(135deg) translate(0) rotate(-135deg);
- transform: rotate(135deg) translate(0) rotate(-135deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(135deg) translate(208px) rotate(-135deg);
- transform: rotate(135deg) translate(208px) rotate(-135deg);
- }
- }
- .avatar:nth-of-type(4) {
- -webkit-animation: ani4 2s 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani4 2s 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani4 {
- 0%, 20% {
- -webkit-transform: rotate(180deg) translate(0) rotate(-180deg);
- transform: rotate(180deg) translate(0) rotate(-180deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(180deg) translate(208px) rotate(-180deg);
- transform: rotate(180deg) translate(208px) rotate(-180deg);
- }
- }
- @keyframes ani4 {
- 0%, 20% {
- -webkit-transform: rotate(180deg) translate(0) rotate(-180deg);
- transform: rotate(180deg) translate(0) rotate(-180deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(180deg) translate(208px) rotate(-180deg);
- transform: rotate(180deg) translate(208px) rotate(-180deg);
- }
- }
- .avatar:nth-of-type(5) {
- -webkit-animation: ani5 2s 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani5 2s 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani5 {
- 0%, 20% {
- -webkit-transform: rotate(225deg) translate(0) rotate(-225deg);
- transform: rotate(225deg) translate(0) rotate(-225deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(225deg) translate(208px) rotate(-225deg);
- transform: rotate(225deg) translate(208px) rotate(-225deg);
- }
- }
- @keyframes ani5 {
- 0%, 20% {
- -webkit-transform: rotate(225deg) translate(0) rotate(-225deg);
- transform: rotate(225deg) translate(0) rotate(-225deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(225deg) translate(208px) rotate(-225deg);
- transform: rotate(225deg) translate(208px) rotate(-225deg);
- }
- }
- .avatar:nth-of-type(6) {
- -webkit-animation: ani6 2s 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani6 2s 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani6 {
- 0%, 20% {
- -webkit-transform: rotate(270deg) translate(0) rotate(-270deg);
- transform: rotate(270deg) translate(0) rotate(-270deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(270deg) translate(208px) rotate(-270deg);
- transform: rotate(270deg) translate(208px) rotate(-270deg);
- }
- }
- @keyframes ani6 {
- 0%, 20% {
- -webkit-transform: rotate(270deg) translate(0) rotate(-270deg);
- transform: rotate(270deg) translate(0) rotate(-270deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(270deg) translate(208px) rotate(-270deg);
- transform: rotate(270deg) translate(208px) rotate(-270deg);
- }
- }
- .avatar:nth-of-type(7) {
- -webkit-animation: ani7 2s 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani7 2s 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani7 {
- 0%, 20% {
- -webkit-transform: rotate(315deg) translate(0) rotate(-315deg);
- transform: rotate(315deg) translate(0) rotate(-315deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(315deg) translate(208px) rotate(-315deg);
- transform: rotate(315deg) translate(208px) rotate(-315deg);
- }
- }
- @keyframes ani7 {
- 0%, 20% {
- -webkit-transform: rotate(315deg) translate(0) rotate(-315deg);
- transform: rotate(315deg) translate(0) rotate(-315deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(315deg) translate(208px) rotate(-315deg);
- transform: rotate(315deg) translate(208px) rotate(-315deg);
- }
- }
- .avatar:nth-of-type(8) {
- -webkit-animation: ani8 2s 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: ani8 2s 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes ani8 {
- 0%, 20% {
- -webkit-transform: rotate(360deg) translate(0) rotate(-360deg);
- transform: rotate(360deg) translate(0) rotate(-360deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(360deg) translate(208px) rotate(-360deg);
- transform: rotate(360deg) translate(208px) rotate(-360deg);
- }
- }
- @keyframes ani8 {
- 0%, 20% {
- -webkit-transform: rotate(360deg) translate(0) rotate(-360deg);
- transform: rotate(360deg) translate(0) rotate(-360deg);
- }
- 34%, 100% {
- -webkit-transform: rotate(360deg) translate(208px) rotate(-360deg);
- transform: rotate(360deg) translate(208px) rotate(-360deg);
- }
- }
- .avatar:nth-of-type(4):before, .avatar:nth-of-type(2):before {
- -webkit-animation: bounce 3s 1.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 1.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 1.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 1.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .avatar:nth-of-type(7):before {
- -webkit-animation: bounce 3s 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .avatar:nth-of-type(3):before {
- -webkit-animation: bounce 3s 2.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 2.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 2.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 2.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .avatar:nth-of-type(1):before {
- -webkit-animation: bounce 3s 3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .avatar:nth-of-type(6):before {
- -webkit-animation: bounce 3s 3.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 3.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 3.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 3.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .avatar:nth-of-type(5):before {
- -webkit-animation: bounce 3s 3.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 3.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 3.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 3.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .avatar:nth-of-type(8):before {
- -webkit-animation: bounce 3s 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 3s 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, colorchange 1s 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- .image {
- position: absolute;
- top: 0;
- rightright: 0;
- bottombottom: 0;
- left: 0;
- margin: auto;
- height: 220px;
- width: 220px;
- }
- .image img {
- position: relative;
- height: 220px;
- width: 220px;
- border-radius: 50%;
- z-index: 1;
- }
- .image:before {
- position: absolute;
- top: 0;
- rightright: 0;
- bottombottom: 0;
- left: 0;
- margin: auto;
- content: '';
- height: 100%;
- width: 100%;
- background: #f9fff7;
- border: 3px solid #e7f5d1;
- border-radius: 50%;
- -webkit-animation: pulse 1s 1.4s ease-out;
- animation: pulse 1s 1.4s ease-out;
- -webkit-animation-iteration-count: 3;
- animation-iteration-count: 3;
- }
- .image .smiley {
- position: absolute;
- top: -8px;
- rightright: -8px;
- height: 64px;
- width: 64px;
- background: #b5e763;
- border-radius: 50%;
- border: 5px solid white;
- -webkit-animation: bounce 5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- -webkit-transform-origin: center;
- -ms-transform-origin: center;
- transform-origin: center;
- z-index: 1;
- }
- .image .smiley svg {
- position: absolute;
- top: 0;
- rightright: 0;
- bottombottom: 0;
- left: 0;
- margin: auto;
- -webkit-animation: bounce 5s 0.075s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- animation: bounce 5s 0.075s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
- }
- @-webkit-keyframes bounce {
- 0% {
- -webkit-transform: scale(0);
- transform: scale(0);
- }
- 5% {
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- }
- 10%, 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
- }
- @keyframes bounce {
- 0% {
- -webkit-transform: scale(0);
- transform: scale(0);
- }
- 5% {
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- }
- 10%, 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
- }
- @-webkit-keyframes pulse {
- 0% {
- -webkit-transform: scale(0.1, 0.1);
- transform: scale(0.1, 0.1);
- opacity: 0.0;
- }
- 50% {
- opacity: 1.0;
- }
- 100% {
- -webkit-transform: scale(3);
- transform: scale(3);
- opacity: 0.0;
- }
- }
- @keyframes pulse {
- 0% {
- -webkit-transform: scale(0.1, 0.1);
- transform: scale(0.1, 0.1);
- opacity: 0.0;
- }
- 50% {
- opacity: 1.0;
- }
- 100% {
- -webkit-transform: scale(3);
- transform: scale(3);
- opacity: 0.0;
- }
- }
- @-webkit-keyframes colorchange {
- 0% {
- background: #bec4bc;
- }
- 100% {
- background: #b5e763;
- }
- }
- @keyframes colorchange {
- 0% {
- background: #bec4bc;
- }
- 100% {
- background: #b5e763;
- }
- }
- .avatar:nth-of-type(1) {
- background-image: url("128.jpg");
- }
- .avatar:nth-of-type(2) {
- background-image: url("rasagy.jpg");
- }
- .avatar:nth-of-type(3) {
- background-image: url("geeftvorm.jpg");
- }
- .avatar:nth-of-type(4) {
- background-image: url("VinThomas.jpg");
- }
- .avatar:nth-of-type(5) {
- background-image: url("ladylexy.jpg");
- }
- .avatar:nth-of-type(6) {
- background-image: url("claudioguglieri.jpg");
- }
- .avatar:nth-of-type(7) {
- background-image: url("jina.jpg");
- }
- .avatar:nth-of-type(8) {
- background-image: url("peterme.jpg");
- }
好了以上就是今天介绍的html5和css3动画排列人物头像代码演示,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
相关文章
本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用户体验,感兴趣的朋友一起看看吧2025-06-18- 在HTML5中,<button>标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的<button>标签,详细介绍其属性、样式以及实际2025-06-18
基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)
本文将深入剖析一段基于 HTML5 Canvas 的代码,该代码实现了图片的旋转(90 度和 180 度)以及旋转后图片的下载功能,通过对代码的解读,我们可以学习到如何利用 Canvas API2025-06-18
HTML5 getUserMedia API网页录音实现指南示例小结
本教程将指导你如何利用这一API,结合Web Audio API,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步详解,此外,还讨论了getUserMedia API的使用限制和最2025-06-16- HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5 搜索框Search Box2025-06-13
- Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中Checkbox标签的深入全面解2025-06-13
- 本实例展示了一种基于HTML5技术的图片上传功能,无需外部插件即可通过拖放图片实现上传,涉及到HTML5的拖放API和File API,以及使用CSS来增强用户界面的交互性和视觉反馈,2025-05-16
- 在HTML5和CSS中,定位(positioning)是控制元素在页面上位置的重要机制,主要有四种定位方式:静态定位(static)、相对定位(relative)、绝对定位(absolute)和固定定位(fixed),2025-05-13
- Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探讨HTML5中Microdata的使用方法以及2025-04-21
在HTML语法中,表格主要通过< table >、< tr >和< td >3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧2025-04-21





最新评论