ホームページ >ウェブフロントエンド >H5 チュートリアル >html5 と css3 を使用してキャラクター アバターを配置するデモの例 anime_html5 チュートリアル スキル

html5 と css3 を使用してキャラクター アバターを配置するデモの例 anime_html5 チュートリアル スキル

WBOY
WBOYオリジナル
2016-05-16 15:47:081995ブラウズ

今日は、HTML5 と CSS3 アニメーションでキャラクター アバターを配置するデモを共有したいと思います。この例のページの最初は、真ん中に美少女の絵だけがあり、次に笑顔の絵が表示され、その後に小さなキャラクターの絵がページ上で円を描くようにアニメーション形式でゆっくりと配置されます。レンダリングは次のとおりです:

実装コード。

htmlコード:

XML/HTML コードコンテンツをクリップボードにコピー
  1. <div クラス='ステージ' >
  2. <div class='image' >
  3. <img src="https: //pbs.twimg.com/profile_images/529224080751202304/UNLt5nUZ_400x400.jpeg">
  4. <div class= のスマイリー' >
  5. <svg ="30px" 高さ="30px">
  6. <パス 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>
  7. div>
  8. div>
  9. <フィギュア クラス='アバター' >
  10. >
  11. <フィギュア クラス='アバター' >
  12. >
  13. <フィギュア クラス='アバター' >
  14. >
  15. <フィギュア クラス='アバター' >
  16. >
  17. <フィギュア クラス='アバター' >
  18. >
  19. <フィギュア クラス='アバター' >
  20. >
  21. <フィギュア クラス='アバター' >
  22. >
  23. <フィギュア クラス='アバター' >
  24. >
  25. div>

css3代码:

CSS コード剪定板への复制コンテンツ
  1. .stage {
  2. 位置: 絶対;   
  3. トップ: 0;   
  4. : 0;   
  5. : 0;   
  6. : 0;   
  7. マージン: 自動;   
  8. 高さ: 460px;   
  9. : 480px;   
  10. }
  11. .アバター {
  12. 位置: 絶対;   
  13. トップ: 0;   
  14. : 0;   
  15. : 0;   
  16. : 0;   
  17. マージン: 自動;   
  18. 高さ: 64px;   
  19. : 64px;   
  20. バックグラウンドリピート: リピートなし;   
  21. 背景-サイズ: カバー;   
  22. 境界線-半径: 50%;   
  23. -webkit-transform-origin: center;   
  24. -ms-transform-origin: center;   
  25. transform-origin: center;   
  26. }  
  27. .avatar:before {
  28. コンテンツ: '';   
  29. 位置: 絶対;   
  30. トップ: -8%;   
  31. : -8%;   
  32. 身長: 17.06667px;   
  33. : 17.06667px;   
  34. 背景: #bec4bc;   
  35. 境界線-半径: 50%;   
  36. ボーダー: 3px ソリッド ;   
  37. }
  38. .avatar:nth-of-type(1) {
  39. -webkit-animation: ani1 2s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  40. アニメーション: ani1 2s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  41. }
  42. @-webkit-keyframes ani1 {
  43. 0%, 20% {
  44. -webkit-transform: rotate(45deg) translate(0) rotate(-45deg);   
  45. transform: rotate(45deg) translate(0) rotate(-45deg);   
  46. }
  47. 34%, 100% {
  48. -webkit-transform: rotate(45deg) translate(208px) rotate(-45deg);   
  49. transform: rotate(45deg) translate(208px) rotate(-45deg);   
  50. }
  51. }
  52. @keyframes ani1 {
  53. 0%, 20% {
  54. -webkit-transform: rotate(45deg) translate(0) rotate(-45deg);   
  55. transform: rotate(45deg) translate(0) rotate(-45deg);   
  56. }
  57. 34%, 100% {
  58. -webkit-transform: rotate(45deg) translate(208px) rotate(-45deg);   
  59. transform: rotate(45deg) translate(208px) rotate(-45deg);   
  60. }
  61. }
  62. .avatar:nth-of-type(2) {
  63. -webkit-animation: ani2 2s 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  64. アニメーション: ani2 2s 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  65. }  
  66. @-webkit-keyframes ani2 {
  67. 0%, 20% {
  68. -webkit-transform: rotate(90deg) translate(0) rotate(-90deg);   
  69. transform: rotate(90deg) translate(0) rotate(-90deg);   
  70. }
  71. 34%, 100% {
  72. -webkit-transform: rotate(90deg) translate(208px) rotate(-90deg);   
  73. transform: rotate(90deg) translate(208px) rotate(-90deg);   
  74. }
  75. }
  76. @keyframes ani2 {
  77. 0%, 20% {
  78. -webkit-transform: rotate(90deg) translate(0) rotate(-90deg);   
  79. transform: rotate(90deg) translate(0) rotate(-90deg);   
  80. }
  81. 34%, 100% {
  82. -webkit-transform: rotate(90deg) translate(208px) rotate(-90deg);   
  83. transform: rotate(90deg) translate(208px) rotate(-90deg);   
  84. }
  85. }
  86. .avatar:nth-of-type(3) {
  87. -webkit-animation: ani3 2s 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  88. アニメーション: ani3 2s 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  89. }
  90. @-webkit-keyframes ani3 {
  91. 0%, 20% {
  92. -webkit-transform: rotate(135deg) translate(0) rotate(-135deg);   
  93. transform: rotate(135deg) translate(0) rotate(-135deg);   
  94. }
  95. 34%, 100% {
  96. -webkit-transform: rotate(135deg) translate(208px) rotate(-135deg);   
  97. transform: rotate(135deg) translate(208px) rotate(-135deg);   
  98. }
  99. }
  100. @keyframes ani3 {
  101. 0%, 20% {
  102. -webkit-transform: rotate(135deg) translate(0) rotate(-135deg);   
  103. transform: rotate(135deg) translate(0) rotate(-135deg);   
  104. }  
  105. 34%, 100% {
  106. -webkit-transform: rotate(135deg) translate(208px) rotate(-135deg);   
  107. transform: rotate(135deg) translate(208px) rotate(-135deg);   
  108. }
  109. }
  110. .avatar:nth-of-type(4) {
  111. -webkit-animation: ani4 2s 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  112. アニメーション: ani4 2s 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  113. }
  114. @-webkit-keyframes ani4 {
  115. 0%, 20% {
  116. -webkit-transform: rotate(180deg) translate(0) rotate(-180deg);   
  117. transform: rotate(180deg) translate(0) rotate(-180deg);   
  118. }
  119. 34%, 100% {
  120. -webkit-transform: rotate(180deg) translate(208px) rotate(-180deg);   
  121. transform: rotate(180deg) translate(208px) rotate(-180deg);   
  122. }
  123. }
  124. @keyframes ani4 {
  125. 0%, 20% {
  126. -webkit-transform: rotate(180deg) translate(0) rotate(-180deg);   
  127. transform: rotate(180deg) translate(0) rotate(-180deg);   
  128. }
  129. 34%, 100% {
  130. -webkit-transform: rotate(180deg) translate(208px) rotate(-180deg);   
  131. transform: rotate(180deg) translate(208px) rotate(-180deg);   
  132. }
  133. }
  134. .avatar:nth-of-type(5) {
  135. -webkit-animation: ani5 2s 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  136. アニメーション: ani5 2s 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  137. }
  138. @-webkit-keyframes ani5 {
  139. 0%, 20% {
  140. -webkit-transform: rotate(225deg) translate(0) rotate(-225deg);   
  141. transform: rotate(225deg) translate(0) rotate(-225deg);   
  142. }  
  143. 34%, 100% {
  144. -webkit-transform: rotate(225deg) translate(208px) rotate(-225deg);   
  145. transform: rotate(225deg) translate(208px) rotate(-225deg);   
  146. }
  147. }
  148. @keyframes ani5 {
  149. 0%, 20% {
  150. -webkit-transform: rotate(225deg) translate(0) rotate(-225deg);   
  151. transform: rotate(225deg) translate(0) rotate(-225deg);   
  152. }
  153. 34%, 100% {
  154. -webkit-transform: rotate(225deg) translate(208px) rotate(-225deg);   
  155. transform: rotate(225deg) translate(208px) rotate(-225deg);   
  156. }
  157. }
  158. .avatar:nth-of-type(6) {
  159. -webkit-animation: ani6 2s 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  160. アニメーション: ani6 2s 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  161. }
  162. @-webkit-keyframes ani6 {
  163. 0%, 20% {
  164. -webkit-transform: rotate(270deg) translate(0) rotate(-270deg);   
  165. transform: rotate(270deg) translate(0) rotate(-270deg);   
  166. }
  167. 34%, 100% {
  168. -webkit-transform: rotate(270deg) translate(208px) rotate(-270deg);   
  169. transform: rotate(270deg) translate(208px) rotate(-270deg);   
  170. }
  171. }
  172. @keyframes ani6 {
  173. 0%, 20% {
  174. -webkit-transform: rotate(270deg) translate(0) rotate(-270deg);   
  175. transform: rotate(270deg) translate(0) rotate(-270deg);   
  176. }
  177. 34%, 100% {
  178. -webkit-transform: rotate(270deg) translate(208px) rotate(-270deg);   
  179. transform: rotate(270deg) translate(208px) rotate(-270deg);   
  180. }
  181. }  
  182. .avatar:nth-of-type(7) {
  183. -webkit-animation: ani7 2s 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  184. アニメーション: ani7 2s 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  185. }
  186. @-webkit-keyframes ani7 {
  187. 0%, 20% {
  188. -webkit-transform: rotate(315deg) translate(0) rotate(-315deg);   
  189. transform: rotate(315deg) translate(0) rotate(-315deg);   
  190. }
  191. 34%, 100% {
  192. -webkit-transform: rotate(315deg) translate(208px) rotate(-315deg);   
  193. transform: rotate(315deg) translate(208px) rotate(-315deg);   
  194. }
  195. }
  196. @keyframes ani7 {
  197. 0%, 20% {
  198. -webkit-transform: rotate(315deg) translate(0) rotate(-315deg);   
  199. transform: rotate(315deg) translate(0) rotate(-315deg);   
  200. }
  201. 34%, 100% {
  202. -webkit-transform: rotate(315deg) translate(208px) rotate(-315deg);   
  203. transform: rotate(315deg) translate(208px) rotate(-315deg);   
  204. }
  205. }
  206. .avatar:nth-of-type(8) {
  207. -webkit-animation: ani8 2s 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  208. アニメーション: ani8 2s 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forward;   
  209. }
  210. @-webkit-keyframes ani8 {
  211. 0%, 20% {
  212. -webkit-transform: rotate(360deg) translate(0) rotate(-360deg);   
  213. transform: rotate(360deg) translate(0) rotate(-360deg);   
  214. }
  215. 34%, 100% {
  216. -webkit-transform: rotate(360deg) translate(208px) rotate(-360deg);   
  217. transform: rotate(360deg) translate(208px) rotate(-360deg);   
  218. }
  219. }  
  220. @keyframes ani8 {
  221. 0%, 20% {
  222. -webkit-transform: rotate(360deg) translate(0) rotate(-360deg);   
  223. transform: rotate(360deg) translate(0) rotate(-360deg);   
  224. }
  225. 34%, 100% {
  226. -webkit-transform: rotate(360deg) translate(208px) rotate(-360deg);   
  227. transform: rotate(360deg) translate(208px) rotate(-360deg);   
  228. }
  229. }
  230. .avatar:nth-of-type(4):before, .avatar:nth-of-type(2):before {
  231. -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;   
  232. アニメーション: バウンス 3秒 1.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 1.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 用病棟。   
  233. }
  234. .avatar:nth-of-type(7):before {
  235. -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;   
  236. アニメーション: 3秒 2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方へのバウンス、色変更 1秒 2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方へのバウンス;   
  237. }
  238. .avatar:nth-of-type(3):before {
  239. -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;   
  240. アニメーション: バウンス 3秒 2.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 2.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275)病棟。   
  241. }
  242. .avatar:nth-of-type(1):before {
  243. -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;   
  244. アニメーション: バウンス 3秒 3秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方、カラーチェンジ 1秒 3秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方;   
  245. }
  246. .avatar:nth-of-type(6):before {
  247. -webkit-animation: バウンス 3秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) フォワード、カラーチェンジ 1秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) フォワード;   
  248. アニメーション: バウンス 3秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 3.2秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 用病棟。   
  249. }  
  250. .avatar:nth-of-type(5):before {
  251. -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;   
  252. アニメーション: バウンス 3秒 3.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 順方向、カラーチェンジ 1秒 3.8秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 用病棟。   
  253. }
  254. .avatar:nth-of-type(8):before {
  255. -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;   
  256. アニメーション: バウンス 3秒 4秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方、カラーチェンジ 1秒 4秒 立方体ベジェ(0.175, 0.885, 0.32, 1.275) 前方;   
  257. }
  258. .image {
  259. 位置: 絶対;   
  260. トップ: 0;   
  261. : 0;   
  262. : 0;   
  263. : 0;   
  264. マージン: 自動;   
  265. 高さ: 220px;   
  266. : 220px;   
  267. }
  268. .image img {
  269. 位置: 相対;   
  270. 高さ: 220px;   
  271. : 220px;   
  272. 境界線-半径: 50%;   
  273. z-index: 1;   
  274. }  
  275. .image:before {
  276. 位置: 絶対;   
  277. トップ: 0;   
  278. : 0;   
  279. : 0;   
  280. : 0;   
  281. マージン: 自動;   
  282. コンテンツ: '';   
  283. 身長: 100%;   
  284. : 100%;   
  285. 背景: #f9fff7;   
  286. ボーダー: 3px ソリッド #e7f5d1;   
  287. 境界線-半径: 50%;   
  288. -webkit-animation: パルス 1 秒 1.4 秒 イーズアウト;   
  289. アニメーション: パルス 1 秒 1.4 秒 イーズアウト。   
  290. -webkit-animation-iteration-count: 3;   
  291. アニメーション反復数: 3;   
  292. }
  293. .image .smiley {
  294. 位置: 絶対;   
  295. : -8px;   
  296. : -8px;   
  297. 高さ: 64px;   
  298. : 64px;   
  299. 背景: #b5e763;   
  300. 境界線-半径: 50%;   
  301. ボーダー: 5px ソリッド ;   
  302. -webkit-animation: 5秒 立方ベジェ(0.175, 0.885, 0.32, 1.275) 前方にバウンスします。   
  303. アニメーション: 5秒 3次ベジェ(0.175, 0.885, 0.32, 1.275) 前方にバウンスします。   
  304. -webkit-transform-origin: center;   
  305. -ms-transform-origin: center;   
  306. transform-origin: center;   
  307. z-index: 1;   
  308. }  
  309. .image .smiley svg {
  310. 位置: 絶対;   
  311. トップ: 0;   
  312. : 0;   
  313. : 0;   
  314. : 0;   
  315. マージン: 自動;   
  316. -webkit-animation: 5秒 0.075秒 立方ベジェ(0.175, 0.885, 0.32, 1.275) 前方にバウンス;   
  317. アニメーション: 5 秒 0.075 秒 3 次ベジェ(0.175, 0.885, 0.32, 1.275) 前方へバウンス;   
  318. }
  319. @-webkit-keyframes bounce {
  320. 0% {
  321. -webkit-transform: scale(0);   
  322. transform: scale(0);   
  323. }
  324. 5% {
  325. -webkit-transform: scale(1.5);   
  326. transform: scale(1.5);   
  327. }
  328. 10%, 100% {
  329. -webkit-transform: scale(1);   
  330. transform: scale(1);   
  331. }
  332. }
  333. @keyframes bounce {
  334. 0% {
  335. -webkit-transform: scale(0);   
  336. transform: scale(0);   
  337. }
  338. 5% {
  339. -webkit-transform: scale(1.5);   
  340. transform: scale(1.5);   
  341. }
  342. 10%, 100% {
  343. -webkit-transform: scale(1);   
  344. transform: scale(1);   
  345. }
  346. }
  347. @-webkit-keyframes pulse {
  348. 0% {
  349. -webkit-transform: scale(0.1, 0.1);   
  350. transform: scale(0.1, 0.1);   
  351. 不透明度: 0.0;   
  352. }
  353. 50% {
  354. 不透明度: 1.0;   
  355. }  
  356. 100% {
  357. -webkit-transform: scale(3);   
  358. transform: scale(3);   
  359. 不透明度: 0.0;   
  360. }
  361. }
  362. @keyframes pulse {
  363. 0% {
  364. -webkit-transform: scale(0.1, 0.1);   
  365. transform: scale(0.1, 0.1);   
  366. 不透明度: 0.0;   
  367. }
  368. 50% {
  369. 不透明度: 1.0;   
  370. }
  371. 100% {
  372. -webkit-transform: scale(3);   
  373. transform: scale(3);   
  374. 不透明度: 0.0;   
  375. }
  376. }
  377. @-webkit-keyframes colorchange {
  378. 0% {
  379. 背景: #bec4bc;   
  380. }
  381. 100% {
  382. 背景: #b5e763;   
  383. }
  384. }
  385. @keyframes colorchange {
  386. 0% {
  387. 背景: #bec4bc;   
  388. }
  389. 100% {
  390. 背景: #b5e763;   
  391. }
  392. }
  393. .avatar:nth-of-type(1) {
  394. 背景画像: url("128.jpg" );   
  395. }
  396. .avatar:nth-of-type(2) {
  397. 背景画像: url("rasagy.jpg" );   
  398. }
  399. .avatar:nth-of-type(3) {
  400. 背景画像: url("geeftvorm.jpg" );   
  401. }
  402. .avatar:nth-of-type(4) {
  403. 背景画像: url("VinThomas.jpg" );   
  404. }  
  405. .avatar:nth-of-type(5) {
  406. 背景画像: url("ladylexy.jpg" );   
  407. }
  408. .avatar:nth-of-type(6) {
  409. 背景画像: url("claudioguglieri.jpg" );   
  410. }
  411. .avatar:nth-of-type(7) {
  412. 背景画像: url("jina.jpg" );   
  413. }
  414. .avatar:nth-of-type(8) {
  415. 背景画像: url("peterme.jpg" );   
  416. }

好了以上は今天媒体の html5 と css3 アニメーション画配列人物像コード演示、谢蘊蘅蘆、希望可能可能性大家、讀请续言注册家,我们努力共享更多质秀的文章。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。