HTML All The Things - Web Development, Web Design, Small Business

CSS Transitions & Animations


Listen Later

In this episode we focus on CSS transitions and animations, what they are, why they both exist, and when you should use one or the other. 

Segment 1 - Transitions vs Animations

  • AdobePress Article - reference link
  • Transitions
    • Only have two states (triggered and not triggered)
  • Always run forward when triggered, and backwards when the trigger is removed
  • Common triggers are: hover, link, active, visited, focus, checked, disabled
  • Common use case: hover over a button and have the box shadow get darker as long as the cursor is hovering over it
  • Animations
    • More control than transitions
  • Can start, stop, pause, run forwards, run backwards
  • Complex animations are possible by manipulating various properties within keyframes
  • May be more difficult to manipulate with Javascript
  • Use animations if you need the complexity
  • Use transitions if you have a simple affect that only needs two states (triggered, not triggered)
  • Segment 2 - How Transitions and Animations Improve UX

    • Build your site with animations in mind so they don't look tacked on after the fact
  • Don't be too flashy - your animations need to have purpose, shouldn't get in the way of the user experience
  • Don't overwhelm the user with animations - may cause performance issues, can distract the user
  • Keep animations consistent with the associated action - swipes with sliding animation, taps w/ pebble drop in water animation
  • Segment 3 - Performance

    • Too many transitions or complex animations can cause serious performance issues
  • The browser runs animations better over time (device starts to dedicate resources to the tab, cache builds up) so tests need to be done on a fresh incognito (or equivalent) window to ensure performance is good for first time users
  • Test on older devices that may have slow hardware, or may have older browsers due to lack of support for newer updates
  • Performance "hacks" - translate3d, translatez
    • More modern method "will-change"
  • Check out José Rosário’s page on Medium article: https://medium.com/outsystems-experts/how-to-achieve-60-fps-animations-with-css3-db7b98610108 for an in-depth breakdown
  • Segment 4 - Animation Frameworks

    • Three.js
    • Dependant on WebGL
  • Full 3D render capable
  • Is complex to start with
  • has been around now for 8+ years so a little bit bloated yet still supported
  • Anime.js
    • Fastest/best performance large scale animation library
  • Extremely lightweight
  • Could replace Three.js due to simplicity and modern architecture
  • ScrollReveal.js
    • Specific library for animation while scrolling
  • Using specific libraries for certain tasks maskes code more lightweight
  • Usually easier to implement then a larger more customizable library
  • Web News - Inconsistencies and Separation

    • Mobile versions (app or mobile site) vs Desktop versions (apps or site)
  • Separation of apps (multiple apps - same service/function)
  • Inconsistent development features in an ecosystem
  •  

    Patreon Supporters

    Grigory Rechkin

     

    You can find us on...

    Facebook | Twitter | Instagram

    RSS | Patreon | Spotify

    Medium | YouTube | GitHub 

    New! - Reddit

    ...more
    View all episodesView all episodes
    Download on the App Store

    HTML All The Things - Web Development, Web Design, Small BusinessBy Matt Lawrence and Mike Karan

    • 4.8
    • 4.8
    • 4.8
    • 4.8
    • 4.8

    4.8

    46 ratings


    More shows like HTML All The Things - Web Development, Web Design, Small Business

    View all
    Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

    Software Engineering Radio - the podcast for professional software developers

    274 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    284 Listeners

    iOS Today (Audio) by TWiT

    iOS Today (Audio)

    543 Listeners

    Talk Python To Me by Michael Kennedy

    Talk Python To Me

    590 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    621 Listeners

    Soft Skills Engineering by Jamison Dance and Dave Smith

    Soft Skills Engineering

    269 Listeners

    Python Bytes by Michael Kennedy and Brian Okken

    Python Bytes

    215 Listeners

    Y Combinator Startup Podcast by Y Combinator

    Y Combinator Startup Podcast

    217 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    987 Listeners

    REWORK by 37signals

    REWORK

    211 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    62 Listeners

    The Real Python Podcast by Real Python

    The Real Python Podcast

    139 Listeners

    AI and I by Dan Shipper

    AI and I

    32 Listeners

    Lightcone Podcast by Y Combinator

    Lightcone Podcast

    22 Listeners

    OpenAI Podcast by OpenAI

    OpenAI Podcast

    28 Listeners