@@ -10,3 +10,132 @@ You can deploy this in three clicks:
10
10
![ ] ( 2018-09-02-22-20-24.png )
11
11
12
12
Your site should be reachable at ` https://<Username>.github.io/html-css-only `
13
+
14
+
15
+
16
+ ![ ] ( docs/lottie.gif )
17
+ ## Adding bodymovin animations to a webpage
18
+
19
+ We will be adding bodymovin animations to this simple portfolio site
20
+
21
+ ### Setting up
22
+
23
+ 1 . Fork the repo on Github
24
+ 
25
+ 2 . Clone the repo so you can edit things locally
26
+ 3 . Open up ` index.html ` in a web browser, you can refresh that page to see changes you made locally
27
+
28
+
29
+ ### Pick an animation
30
+
31
+ 1 . go to [ lottiefiles.com] ( lottiefile.com ) and pick out an animation
32
+ 2 . download it, and copy the ` .json ` file into the ` assets ` folder as ` my-animation.json `
33
+
34
+ ### Load in the animation
35
+
36
+ 1 . Get the bodymovin library on your webpage.
37
+
38
+ Edit ` index.html ` , insert this ` <script/> ` tag inside the ` <head> ` tag:
39
+
40
+ ``` html
41
+ <script src =" https://cdnjs.cloudflare.com/ajax/libs/bodymovin/4.13.0/bodymovin.js" ></script >
42
+ ```
43
+
44
+ ** for example** :
45
+ ``` html
46
+ ...
47
+ <head >
48
+ <meta charset =" UTF-8" >
49
+ <meta name =" viewport" content =" width=device-width, initial-scale=1.0" >
50
+ <meta http-equiv =" X-UA-Compatible" content =" ie=edge" >
51
+ <link rel =" stylesheet" href =" assets/css/main.css" />
52
+ <script src =" https://cdnjs.cloudflare.com/ajax/libs/bodymovin/4.13.0/bodymovin.js" ></script >
53
+ <title >My site</title >
54
+ </head >
55
+ ...
56
+
57
+ ```
58
+
59
+ This ` script ` automatically runs when the page loads. It fetches the ` bodymovin ` library from a CDN, and sets the global propery ` bodymovin ` .
60
+
61
+ Now if you open up the devtool in chrome, for example, you should see ` bodymovin ` as a variable:
62
+
63
+ ![ ] ( 2018-09-04-20-31-41.png )
64
+
65
+ 2 . Now we can create an empty ` <div/> ` element, for our animation, and give it an ` id="to-animate" ` :
66
+
67
+ ``` html
68
+ <div id =" to-animate" />
69
+ ```
70
+
71
+ ** for example, you can place it right on the front page!** :
72
+ ``` html
73
+ <header id =" header" class =" alt" >
74
+ <div class =" inner" >
75
+ <div id =" to-animate" />
76
+ <h1 >Hello World</h1 >
77
+ <p >There's nothing here yet...</p >
78
+ </div >
79
+ </header >
80
+ ```
81
+
82
+
83
+ 3 . Now add a ` <script> ` tag just before the closing ` </body> ` tag.
84
+
85
+ We will initialize our animation here:
86
+
87
+ ``` html
88
+ ...
89
+ <script >
90
+
91
+ // your code goes here
92
+
93
+ </script >
94
+ </body >
95
+ ```
96
+
97
+
98
+
99
+ 4 . Now we initialize the animation:
100
+
101
+ ``` html
102
+ ...
103
+ <script >
104
+
105
+ // your code goes here
106
+
107
+ let animation = bodymovin .loadAnimation ({
108
+ container: document .getElementById (' to-animate' ),
109
+ renderer: ' svg' ,
110
+ loop: true ,
111
+ autoplay: true ,
112
+ path: ' assets/my-animation.json'
113
+ })
114
+
115
+ </script >
116
+ </body >
117
+ ```
118
+
119
+ Here, we tell ` bodymovin ` to render as 'svg', to loop infinitely, and to autoplay when the page loads.
120
+
121
+ 5 . Style your animation
122
+
123
+ You can use ` CSS ` to size and position your animation. Here I've inserted a ` <style> ` tag, right after the opening ` <body> ` tag:
124
+
125
+ ``` css
126
+ <style >
127
+
128
+ #to-animate {
129
+ max-width : 10em ;
130
+ display : inline-block ;
131
+ }
132
+
133
+ </style >
134
+ ```
135
+
136
+ 6. Go forth and try out some more stuff
137
+
138
+ [bodymovin Documentation ](https://github.com/airbnb/lottie-web #usage )
139
+
140
+
141
+ [View demos (with source code) on Copepin ](https://codepen.io/collection/nVYWZR/)
0 commit comments