Animating with CSS Transitions - A look at the transition properties

Поділитися
Вставка
  • Опубліковано 2 лис 2024

КОМЕНТАРІ • 291

  • @mountains_and_stuff
    @mountains_and_stuff 4 роки тому +20

    The tips on Javascript using ms and the CPU/GPU strain of certain animations is gold. Thank you!

  • @casperr3717
    @casperr3717 3 роки тому +3

    Thankyou Kevin for the clear explanation!. For everyone who wants to remember the transition-timing-function (6:44) I thought about the following: The subject is your home just remember around the house u are quick when leaving u are in hurry, When arriving back home u are late so running in the home also. This makes the values mean:
    Ease-in = u start walking slowly but when u arrive u race inside.
    Ease-out = u leave the house in a hurry; running and then continue walking slowly.
    Ease-in-out = combine above! (the home is the running part again). Just like the mailmen that approach the house with the mean guard dogs; u walk slowly run to that house and run away to walk slowly again.
    Linear = without a house. Just a slow and steady walk true town.

  • @NeroIvanY
    @NeroIvanY 6 років тому +51

    Finally! I have understand the difference between all these 'ease' transitions! Thank you, Kevin!

    • @KevinPowell
      @KevinPowell  6 років тому +5

      Awesome, glad the video helped clear that up Ivan!

  • @flaviucristian3658
    @flaviucristian3658 3 роки тому +9

    For a junior full-stack dev I found your videos very useful. You are explaining new concepts really well. Keep up the good work

  • @sinc1802
    @sinc1802 3 роки тому +3

    Although It's been like 3 years since this video was released, but because of you, I have found a treasure chest in my browser's dev tools (yes I was talking about that curve thingy). Thank you :)

  • @planttherapyph2817
    @planttherapyph2817 5 років тому +5

    For a while, I've been so confused when to use keyframes and transitions, but thanks for this! Finally, I understood it so much better!
    "Transitions require a trigger to run. The trigger may be one of the events listed in the last section or it might be JavaScript, but the transition needs something outside itself to start.
    CSS animations don’t need a trigger. They can respond to a trigger, but one isn’t needed to start the animation. Animations can run automatically when the page first loads. If you need your elements to change or move automatically, you have only one choice: animations.
    Transitions are limited to an initial and final state. Animations can include as many intermediate states (keyframes) as desired in between the initial and final states. This gives you more control over CSS animations and lets you create more complex animations. Transitions work better for simpler animations.
    Transitions can’t change CSS properties. You set the property values on a selector and perhaps the selector’s :hover state. The transition defines how the change occurs, but not the specific start and end values.
    Animations, on the other hand, can change property values inside their keyframes. The property values don’t even need to exist outside of the animation keyframes. This makes animation far more dynamic and flexible than transitions.
    Transitions can’t loop. They run when triggered and then run in reverse when the trigger is removed. Animations can loop as many times as you want. They can run forward or in reverse, or they can alternate between the two. Once again, CSS animations offer more refined control.
    I’m probably making it sound as though you should always choose animations. Transitions have their good side, too. Transitions are typically easier and quicker to work with. This is especially true if you use JavaScript to give yourself a little more control. For example, it’s easier for JavaScript to make changes to intrinsic property values than to property values inside animation keyframes.
    As a general rule, you’ll write more code using CSS animations than you will using CSS transitions, assuming both are attempting to do the same thing. However, if you find yourself writing the same transition code over and over, you might want rewrite it as a single keyframe animation that can be easily added to a number of different elements."

    • @dgdivyanshugupta
      @dgdivyanshugupta 3 роки тому

      This was really helpful. Thanks for the comment!

  • @atarixle
    @atarixle 6 років тому +2

    I used transitions for quite a long time now, but as they say:"Every Day You Learn Something New". Thank you for teaching me cubic-bezier and transition-delay. Together this your Video "::before and ::after" (Part 2) I replaced a JavaScript function with CSS only. Keep making such great videos!

    • @KevinPowell
      @KevinPowell  6 років тому +1

      So glad to hear that my videos have helped you out atarixle!

  • @threeone6012
    @threeone6012 2 роки тому +1

    Kevin's channel and webdevsimplified are the absolute best!

  • @facundocorradini
    @facundocorradini 6 років тому +209

    oh c'mon, with such a great content you're forcing me to click that thumbs up button on every video you upload by now.

  • @huguolin2543
    @huguolin2543 5 років тому +7

    Just great. You're my mentor in CSS. Humble, kind and the stuff. Thanks Kevin.

  • @joeldcanfield_spinhead
    @joeldcanfield_spinhead 5 років тому +7

    Especially appreciate the insight into CPU/GPU usage. Some of us (ahem*me*ahem) like to, as someone said in this video, animate everything. I"m also learning a lot about the inspector in Chrome; so much I didn't realize I was missing.

    • @ayanarko8890
      @ayanarko8890 3 роки тому

      If you like animation using image , 2d , 3d animated arbitrary shape using html. i will suggest ..Coding techno oregano channel..
      ua-cam.com/video/CFAmhyEB1Jw/v-deo.html
      ua-cam.com/video/JtS6N_z233A/v-deo.html -- sliding effect

  • @Anonymous34958
    @Anonymous34958 Місяць тому

    Thanks for this important video. I always watch your videos but I found this video extremely helpful. Keep making this type of episodes.

  • @d.o.nmuzic3802
    @d.o.nmuzic3802 4 роки тому +15

    KEVIN !!!!!!! This simple and clear break down was so good! I just started trying to learn css two days ago. Your simple breakdown really help me get a good understanding. Thank you! Do you have something like this for css grid/and or positioning? I really appreciate this tutorial!

    • @KevinPowell
      @KevinPowell  4 роки тому +5

      I have one that looks at position absolute. My grid videos are a little all over the place, but the playlist I have on it should help get you started with it :)

  • @borisbosnjak9772
    @borisbosnjak9772 5 років тому +5

    This is the first time I am seeing this cubic-bezier value...It's so helpfull and fun to play with. Thank you!

  • @david2am
    @david2am 3 роки тому +3

    Its my first time playing with transitions and you help me a lot, thank!

  • @DustinHein
    @DustinHein 3 роки тому

    kevin powell was the name of one of my hockey heroes when i was a kid. great videos!

  • @revillsimon
    @revillsimon 6 років тому

    Just like the amp/filter envelopes on a synthesizer... If you're a musician, you'll already understand it. For me, this was a bonus!

    • @KevinPowell
      @KevinPowell  6 років тому +1

      That's really awesome that it's the same, I had no idea! I'm very musically challenged, lol.

    • @revillsimon
      @revillsimon 6 років тому

      At the moment I'm discovering from my background in music and music technology that there are many parallels between coding, design, development, music, and music production. Concepts like layering, timing functions like this and also the mathematical side of things, feel very familiar to me. Thanks for another great video Kevin.

  • @nandakishorpardeshi4156
    @nandakishorpardeshi4156 2 роки тому +1

    One of the Gems I watch everyday

  • @akashkhatri4652
    @akashkhatri4652 5 років тому +6

    Thank you so much for this! I really hope you make some backend related videos as well, like PHP, Laravel etc. You make it really easy to understand things.

    • @KevinPowell
      @KevinPowell  5 років тому +7

      Sorry to disapoint, but I'm not a backend guy at all, so that won't be happening :(
      I'm glad that you like how I explain things though!

    • @hagopderderian6824
      @hagopderderian6824 2 роки тому +1

      @@KevinPowell im currently learning frontend yet my teacher couldnt explain me everything but you did better job than him i understood better now i can practice on it ...is there more vids about transitions and stuff ?

  • @cleitonandrade8802
    @cleitonandrade8802 3 роки тому

    Best tutorial I found on CSS transitions.

  • @elg281
    @elg281 2 роки тому +1

    Transition-timing-function example was fun.

  • @DarkCebolix
    @DarkCebolix 2 роки тому

    Jesus, even when I'm seeing a random css video I realize that it is a video made by Kevin Powell!! Lol. Good job! Tks.

  • @denshin2724
    @denshin2724 5 років тому

    Fantastic! i learned keyframing, but more and more i stood up on transitions, by looking in sample projects exc~ "study on freecodecamp, and they discovered more keyframing for me, then transitions" and i was like.. wow... aniway long story short: i typed in my search :: Transition Kevin powell. and yep you got it! Your'e my favorite teacher!!!!! And thnx! i just learned the basics, no wait the whole subject in 17minutes! Your'e to good for this world!!!! stay following you.

  • @RanjeetKumar_23
    @RanjeetKumar_23 2 роки тому +1

    Great Content Kevin... Well detailed and crisp explanations.

  • @CamaguNcoso
    @CamaguNcoso 3 місяці тому

    HTML and CSS are now the food I eat. I'm a beginner

  • @WagnerLoch01
    @WagnerLoch01 6 років тому +3

    Excellent video, thank you from Brazil!!!

  • @actrox1
    @actrox1 2 роки тому

    Thank you for this general understanding, it is helpful for beginners.

  • @wojciechjarosz420
    @wojciechjarosz420 4 роки тому +5

    amazing job man! You should be a milioner with this quality of content xD

  • @aliturab5370
    @aliturab5370 3 роки тому

    love you man
    your amazing you fixed something I was scratching my head on for quiet some while

  • @sebastianiuga3020
    @sebastianiuga3020 4 роки тому

    Very interesting video Kevin, addressing some points few people talk about.
    Thank you!

  • @JorgeRivera-rp1zw
    @JorgeRivera-rp1zw 3 роки тому

    What should I say..!?
    Simple Awesome..! Really thanks to you..to share your videos..!
    The King of code..!
    And great person you are..!

  • @Amin-kg8rm
    @Amin-kg8rm 3 роки тому

    this man a true legend and a great techer

  • @abguven
    @abguven 3 роки тому

    Thanks for your time Kevin.Very good tutorial.

  • @muhammadumer2011
    @muhammadumer2011 5 років тому +4

    Exellent tutorial sir ! thanks for these amazing knowledgeable tutorials.:)

  • @A_Lesser_Man
    @A_Lesser_Man 5 років тому

    oh. didn't know about "all" causing a performance hit. i, stupidly, assumed the engine would see the other properties aren't changing and no bother with those properties. good to know. ty.

  • @salo1052
    @salo1052 4 роки тому

    great pen on the timing-function, very illustrative 👍

  • @joeypanganiban
    @joeypanganiban 3 роки тому

    Thank you, Kevin!

  • @facinick
    @facinick 4 роки тому +1

    Hey, Can you tell me, what is the best approach to have responsiveness in terms of feasibility, smoothness and cost of execution, with CSS media queries or java script? I am currently using CSS media queries to hide and unhide elements at different widths ( like changing a div options component to a menu component ), there are a few libraries in react like react-responsive that use HOOKS but where I'm working, I for some reason cannot use hooks.. I can for sure use event handlers and get window width from JS but react rendering is done with every prop/state change (here state could be window width for responsiveness and yes I am using react..) .., I need to make page responsive, which I can via CSS, but when it comes to component level like i have 5 react components which are on different repository I donot have access to.. how can I let them know it's a max-width change and define what they gotta behave as? My question I don't really think is clear.. incase you get it its good, else please let me know, I'll explain further..
    Also I love your videos, I have worked on devops, but your video got me interested in CSS so much. It's do powerful only of people knew..
    Regards :)

  • @SHINOBICARLOS
    @SHINOBICARLOS 2 роки тому +1

    the man!

  • @gilbertr3651
    @gilbertr3651 6 років тому +1

    Great video man, you've earned a subscriber!

    • @KevinPowell
      @KevinPowell  6 років тому +1

      Glad you liked it Gilbert, and thanks for subbing!

  • @shrookwageh5976
    @shrookwageh5976 5 років тому +1

    Awesome. this my first time know about cubic-value in Chrome and about "all" and performance. great content as usual. plz try to make a video about transform

  • @-Desire
    @-Desire 8 місяців тому

    Thank you so much for this vidoe! Helpful and fun!

  • @RameenFallschirmjager
    @RameenFallschirmjager 4 роки тому

    Computers are the greatest humanity achievement yet, and Kevin you are an awesome instructor! I hope a day comes that greedy and stupid politician are being replaced with artist and creators and scientist.

  • @thecorleone8777
    @thecorleone8777 Рік тому

    You deserve my subscription

  • @knotcircle2844
    @knotcircle2844 3 роки тому

    4:37 Why explicitly defining transition-property is encouraged

  • @adamwoolf9993
    @adamwoolf9993 5 місяців тому

    Nice presentation! Thanks.

  • @ayuba333abdeta8
    @ayuba333abdeta8 2 роки тому

    hey Mr. Genius i proud of u and God bless u

  • @thilakamn575
    @thilakamn575 4 роки тому

    Awesome video. Thank you for sharing

  • @pablobarrientos2071
    @pablobarrientos2071 2 роки тому

    I´m transitioning on web developer with this content =D

  • @wahseongtan5223
    @wahseongtan5223 6 років тому

    Wow, the best explanation !! love your channel

  • @courtneyyamanishi-baker2889
    @courtneyyamanishi-baker2889 4 роки тому +1

    This was super informative, thank you so much!

  • @WPCliffsNotes
    @WPCliffsNotes 6 років тому

    Nice tutorial! I love CSS transitions.

    • @KevinPowell
      @KevinPowell  6 років тому

      Thanks, glad you liked it! Transitions are super useful in creating better user experiences (and making things look nice!). Too many people focus on trying to do stuff with animations and getting complicated, but a lot can be done with a simple transition

  • @johnconnor9787
    @johnconnor9787 6 років тому +3

    Kevin, please, could you make a video on css perspective and mix-blend-mode properties? That would be great

    • @KevinPowell
      @KevinPowell  6 років тому +1

      The perspective one is sort of in the works!

  • @Ghillie
    @Ghillie 2 роки тому

    the first 2 minutes helped me honestly so annoyed it was that easy to pull of what i wanted.

  • @xenlithkayo2221
    @xenlithkayo2221 6 років тому

    Thank you for making such well made and helpful videos

    • @KevinPowell
      @KevinPowell  6 років тому

      No problem at all, glad to hear you liked them Xenlith :)

  • @co9681
    @co9681 3 роки тому

    Great explanation

  • @ateeba-mateen
    @ateeba-mateen 2 роки тому

    Mr Kevin, first of all, a huge bundle of thanks. I have question! How did you make all those 4 boxes undergo transition at once when you were hovering over only one box at a time? I could not do that.

  • @narco7765
    @narco7765 6 років тому +11

    awesome tutorial and i cracked up when you repeated your outro lol. leaving a like and sub

  • @0the0ambient0
    @0the0ambient0 4 роки тому

    Great overview. Thanks!

  • @awantomagaret7390
    @awantomagaret7390 6 років тому +1

    Thanks for the video Kevin

  • @mohammedalnamer9758
    @mohammedalnamer9758 3 роки тому

    thank you for this great video

  • @ramazain2264
    @ramazain2264 2 роки тому

    could you show us how did you sync the hover over the 4 time-function. because i could not figure out how to have all of them in a one class but have different time-function on each one and still have a one hover tag

  • @hamedwahabzada5279
    @hamedwahabzada5279 9 місяців тому

    In my vs code transition-property does't know about transform what should i do?
    It can accept all but does't apply transform

  • @mrhossein1976
    @mrhossein1976 3 роки тому

    Nice video. Thanks. Just at the end i didn't understand that we should limit our usage of transition,and use more transform and opacity properties? It would have been great if you put an example of using transform and opacity instead of transition in the use cases which are possible. And also do you know any references that tells us which properties uses the GPU and the CPU? thank you

  • @JimKernix
    @JimKernix 3 роки тому

    I'm doing a translateX on an image and an h1 next to the image. I'm using 2000ms and it looks good.

  • @bloxzyo
    @bloxzyo 4 роки тому

    I subscribed to uuu.... wooow this video is suuuuuuuper helpful and u definately know the stuff you are talking about!!!!

  • @daynablackwell5885
    @daynablackwell5885 6 років тому +2

    Would it be fair to generalize by saying that 'transform' defines _what_ you will be animating and 'transition' defines _how_ it will be animated (in other words, the properties of the animation itself) ?

    • @KevinPowell
      @KevinPowell  6 років тому

      That's a really nice way to think about it.

  • @funterban6536
    @funterban6536 2 роки тому

    best tutorial thankyou sir

  • @JD-kf2ki
    @JD-kf2ki 3 роки тому

    Cool! Thanx, dude!

  • @alltimebestnmore
    @alltimebestnmore 8 місяців тому

    Do you have anything about reordering div from dynamic div collection using transition? Keen to undestand to logic behind that. But great video :D

  • @tube-you-and-me
    @tube-you-and-me 2 роки тому

    great video! thanks a lot

  • @AabaBeel
    @AabaBeel Рік тому

    The FATHER of CSS 😁

  • @shorttipsandtricks5501
    @shorttipsandtricks5501 4 роки тому

    Good delivery.

  • @abigroman
    @abigroman 4 роки тому

    Great physical
    presentation.

  • @lucascubilla869
    @lucascubilla869 6 років тому +1

    Amazing, thank you so much!

    • @KevinPowell
      @KevinPowell  6 років тому +1

      No problem at all, I'm glad you liked it :)

  • @adityaprasaddhal2462
    @adityaprasaddhal2462 3 роки тому +1

    thanks a lot buddy

  • @joaomarcelo4940
    @joaomarcelo4940 9 місяців тому

    great video, thanks

  • @kuntzherald8703
    @kuntzherald8703 4 роки тому

    thanks Kevin

  • @shezzammahi9136
    @shezzammahi9136 3 роки тому

    My question is "What will be the syntax or code If I want to put a delay of some seconds only after when I take off my cursor not when I hover ?". What will be the solution?.

  • @raistlinmajere2257
    @raistlinmajere2257 3 роки тому

    Thank You Kevin

  • @neofu262
    @neofu262 6 років тому +1

    Dman useful , great work and thank u , Kevin!

  • @vipulbhardwaj1599
    @vipulbhardwaj1599 3 роки тому

    amazing video, very informative...

  • @RitwikV
    @RitwikV 4 роки тому

    You're a legend.

    • @ayanarko8890
      @ayanarko8890 3 роки тому

      If you like animation using image , 2d , 3d animated arbitrary shape using html. i will suggest ..Coding techno oregano channel..
      ua-cam.com/video/CFAmhyEB1Jw/v-deo.html
      ua-cam.com/video/JtS6N_z233A/v-deo.html -- sliding effect

  • @karinarodriguez2055
    @karinarodriguez2055 4 роки тому +1

    THIS IS SO COOL!!! Thank you!

  • @harkitnebamake
    @harkitnebamake 3 роки тому

    Good tutorial !
    but I tried to open the ul on button:hover instead of button:focus , as soon as I leave the button and go to the li , the ul disappears .
    How to fix it ?

  • @shashankdesai8650
    @shashankdesai8650 3 роки тому

    Very helpful !
    Thanks a lot

  • @rogerruiz1801
    @rogerruiz1801 3 роки тому

    great job !

  • @mcodes5214
    @mcodes5214 3 роки тому

    Thanks for the content

  • @fireofenergy
    @fireofenergy 9 місяців тому

    Can you add
    transition-reverb 😃 (instead of coding all the back and forths, slowly fading to static).

  • @nizarazoux7012
    @nizarazoux7012 2 роки тому

    Helpful, Thankies!!

  • @robinkohrs8097
    @robinkohrs8097 2 роки тому

    Thats so great thank you so much!! I kind of struggle to understand where to put the animation in css. Like for example at 5:22 if you would put all the transition* properties on the .box:hover, would this do the same?

  • @soultouchingsongs
    @soultouchingsongs 5 років тому

    Awesome video 👌. Thank you

  • @cyberdynesystemst-8006
    @cyberdynesystemst-8006 3 роки тому

    Very useful. Thank you

  • @johnconley4955
    @johnconley4955 4 роки тому

    This is so addictive....

  • @MATTierial
    @MATTierial 4 роки тому

    This video is great :D
    Thank you!

  • @comebackrohit.902
    @comebackrohit.902 2 роки тому +1

    Thanks 👍🙏

  • @pankam7800
    @pankam7800 5 років тому

    I wish he was my css teacher... THUMBS UP

  • @ik5412
    @ik5412 5 років тому

    Cool animation!

  • @brucestark4244
    @brucestark4244 2 роки тому

    Thank You Sir❤

  • @mistercoder7411
    @mistercoder7411 3 роки тому

    great tutorial... i was wondering: is it possible with CSS to make a text div appear only after X seconds the page has loaded, or do i need javascript?