Cassie Evans PRO
Brighton based front-end dev & designer. disOrganiser @GeneratorBtn. Has a particular fondness for web animation.
https://www.meetup.com/ask-the-expert-live
⚠️ motion warning ⚠️
https://thebirdwebsite.com
https://vboringwebsite.org
https://superboringwebsite.org
https://thebirdwebsite.com
What about performance
Engagement metrics
are just as important as Lighthouse metrics
Simplified SVG markup.
<svg viewBox="0 0 100 100">
<path d="M10 10H90V90H10Z"/>
<circle cx="50" cy="50" r="40"/>
</svg>
<html lang="en">
<head>
<title>Inline SVG</title>
</head>
<body>
...
<svg viewBox="0 0 100 100">
<path d="M10 10H90V90H10Z"/>
<circle cx="50" cy="50" r="40"/>
</svg>
</body>
</html>
SVG markup inside HTML
lovely semantic elements
The GSAP object is the access point for most of GSAP's functionality
create tweens & timelines
access helper functions
register plugins
global animation control
configure settings
A Tween is the heart of the animation.
Think of it like a high-performance property setter.
gsap.from('#elem', { duration: 1, x: -450})
gsap.to('#elem', { duration: 1, x: -450})
A Timeline is a powerful sequencing tool.
timeline.pause()
timeline.resume()
timeline.seek(1.5)
timeline.reverse()
timeline.timeScale(0.5)
function intro() {
const tl = gsap.timeline();
//...add animations here...
return tl;
}
function end() {
const tl = gsap.timeline();
//...add animations here...
return tl;
}
// stitch them together in a master timeline...
const master = gsap.timeline();
master.add(intro())
master.add(end(), "-=1")
https://viewbox.club/
https://smashingconf.com/sf-2020/workshops
Thank you for listening!
@cassiecodes - twitter & codepen
By Cassie Evans
Brighton based front-end dev & designer. disOrganiser @GeneratorBtn. Has a particular fondness for web animation.