今日は、HTML5 と CSS3 アニメーションでキャラクター アバターを配置するデモを共有したいと思います。この例のページの最初は、真ん中に美少女の絵だけがあり、次に笑顔の絵が表示され、その後に小さなキャラクターの絵がページ上で円を描くようにアニメーション形式でゆっくりと配置されます。レンダリングは次のとおりです:
実装コード。
htmlコード:
XML/HTML コードコンテンツをクリップボードにコピー
- <div クラス='ステージ' >
- <div class='image' >
- <img src="https: //pbs.twimg.com/profile_images/529224080751202304/UNLt5nUZ_400x400.jpeg">
- <div class= のスマイリー' >
- <svg 幅="30px" 高さ="30px">
-
<パス 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.5 C8,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>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
<フィギュア クラス='アバター' >
- 図>
-
div>
css3代码:
CSS コード剪定板への复制コンテンツ
- .stage {
-
位置: 絶対;
-
トップ: 0;
-
右右: 0;
-
下下: 0;
-
左: 0;
-
マージン: 自動;
-
高さ: 460px;
-
幅: 480px;
- }
-
- .アバター {
-
位置: 絶対;
-
トップ: 0;
-
右右: 0;
-
下下: 0;
-
左: 0;
-
マージン: 自動;
-
高さ: 64px;
-
幅: 64px;
-
バックグラウンドリピート: リピートなし;
-
背景-サイズ: カバー;
-
境界線-半径: 50%;
-
-webkit-transform-origin: center;
-
-ms-transform-origin: center;
-
transform-origin: center;
- }
- .avatar:before {
-
コンテンツ: '';
-
位置: 絶対;
-
トップ: -8%;
-
右右: -8%;
-
身長: 17.06667px;
-
幅: 17.06667px;
-
背景: #bec4bc;
-
境界線-半径: 50%;
-
ボーダー: 3px ソリッド 白;
- }
- .avatar:nth-of-type(1) {
- -webkit-animation: ani1 2s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: ani1 2s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani2 2s 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani3 2s 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani4 2s 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani5 2s 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani6 2s 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani7 2s 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward;
- アニメーション: ani8 2s 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- }
- @-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) forward、colorchange 1s 1.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: バウンス 3秒 1.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 1.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 用病棟。
- }
- .avatar:nth-of-type(7):before {
- -webkit-animation: バウンス 3s 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward、colorchange 1s 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: 3秒 2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方へのバウンス、色変更 1秒 2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方へのバウンス;
- }
- .avatar:nth-of-type(3):before {
- -webkit-animation: bounce 3s 2.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward、colorchange 1s 2.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: バウンス 3秒 2.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 2.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275)病棟。
- }
- .avatar:nth-of-type(1):before {
- -webkit-animation: bounce 3s 3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward、colorchange 1s 3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: バウンス 3秒 3秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方、カラーチェンジ 1秒 3秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方;
- }
- .avatar:nth-of-type(6):before {
- -webkit-animation: バウンス 3秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) フォワード、カラーチェンジ 1秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) フォワード;
- アニメーション: バウンス 3秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 用病棟。
- }
- .avatar:nth-of-type(5):before {
- -webkit-animation: bounce 3s 3.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward、colorchange 1s 3.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: バウンス 3秒 3.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 3.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 用病棟。
- }
- .avatar:nth-of-type(8):before {
- -webkit-animation: バウンス 3s 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward、colorchange 1s 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;
- アニメーション: バウンス 3秒 4秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方、カラーチェンジ 1秒 4秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方;
- }
-
- .image {
-
位置: 絶対;
-
トップ: 0;
-
右右: 0;
-
下下: 0;
-
左: 0;
-
マージン: 自動;
-
高さ: 220px;
-
幅: 220px;
- }
- .image img {
-
位置: 相対;
-
高さ: 220px;
-
幅: 220px;
-
境界線-半径: 50%;
-
z-index: 1;
- }
- .image:before {
-
位置: 絶対;
-
トップ: 0;
-
右右: 0;
-
下下: 0;
-
左: 0;
-
マージン: 自動;
-
コンテンツ: '';
-
身長: 100%;
-
幅: 100%;
-
背景: #f9fff7;
-
ボーダー: 3px ソリッド #e7f5d1;
-
境界線-半径: 50%;
- -webkit-animation: パルス 1 秒 1.4 秒 イーズアウト;
- アニメーション: パルス 1 秒 1.4 秒 イーズアウト。
- -webkit-animation-iteration-count: 3;
- アニメーション反復数: 3;
- }
- .image .smiley {
-
位置: 絶対;
-
上: -8px;
-
右右: -8px;
-
高さ: 64px;
-
幅: 64px;
-
背景: #b5e763;
-
境界線-半径: 50%;
-
ボーダー: 5px ソリッド 白;
- -webkit-animation: 5秒 立方ベジェ(0.175, 0.885, 0.32, 1.275) 前方にバウンスします。
- アニメーション: 5秒 3次ベジェ(0.175, 0.885, 0.32, 1.275) 前方にバウンスします。
-
-webkit-transform-origin: center;
-
-ms-transform-origin: center;
-
transform-origin: center;
-
z-index: 1;
- }
- .image .smiley svg {
-
位置: 絶対;
-
トップ: 0;
-
右右: 0;
-
下下: 0;
-
左: 0;
-
マージン: 自動;
- -webkit-animation: 5秒 0.075秒 立方ベジェ(0.175, 0.885, 0.32, 1.275) 前方にバウンス;
- アニメーション: 5 秒 0.075 秒 3 次ベジェ(0.175, 0.885, 0.32, 1.275) 前方へバウンス;
- }
-
- @-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);
- 不透明度: 0.0;
- }
- 50% {
- 不透明度: 1.0;
- }
- 100% {
- -webkit-transform: scale(3);
- transform: scale(3);
- 不透明度: 0.0;
- }
- }
- @keyframes pulse {
- 0% {
- -webkit-transform: scale(0.1, 0.1);
- transform: scale(0.1, 0.1);
- 不透明度: 0.0;
- }
- 50% {
- 不透明度: 1.0;
- }
- 100% {
- -webkit-transform: scale(3);
- transform: scale(3);
- 不透明度: 0.0;
- }
- }
- @-webkit-keyframes colorchange {
- 0% {
-
背景: #bec4bc;
- }
- 100% {
-
背景: #b5e763;
- }
- }
- @keyframes colorchange {
- 0% {
-
背景: #bec4bc;
- }
- 100% {
-
背景: #b5e763;
- }
- }
- .avatar:nth-of-type(1) {
-
背景画像: url("128.jpg" );
- }
-
- .avatar:nth-of-type(2) {
-
背景画像: url("rasagy.jpg" );
- }
-
- .avatar:nth-of-type(3) {
-
背景画像: url("geeftvorm.jpg" );
- }
-
- .avatar:nth-of-type(4) {
-
背景画像: url("VinThomas.jpg" );
- }
-
- .avatar:nth-of-type(5) {
-
背景画像: url("ladylexy.jpg" );
- }
-
- .avatar:nth-of-type(6) {
-
背景画像: url("claudioguglieri.jpg" );
- }
-
- .avatar:nth-of-type(7) {
-
背景画像: url("jina.jpg" );
- }
-
- .avatar:nth-of-type(8) {
-
背景画像: url("peterme.jpg" );
- }
好了以上は今天媒体の html5 と css3 アニメーション画配列人物像コード演示、谢蘊蘅蘆、希望可能可能性大家、讀请续言注册家,我们努力共享更多质秀的文章。