Incredible scroll-based animations with CSS-only

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

КОМЕНТАРІ • 330

  • @cmukama
    @cmukama 11 місяців тому +175

    This is exactly what I needed to refactor out an old JS animation library. The creator left 3 years ago and nobody knew how to deal with it. Thank you Kevin

    • @KevinPowell
      @KevinPowell  11 місяців тому +20

      Just watch out for browser support, since it's far from perfect! The polyfill helps, but as I show near the end, it isn't perfect.

    • @hungry_khid1007
      @hungry_khid1007 11 місяців тому +3

      Huh? U dont know javascript?

    • @cmukama
      @cmukama 11 місяців тому

      @@hungry_khid1007 It's 5MBs of minified javascript. My 12 years of JS experience are useless here

    • @lian1238
      @lian1238 11 місяців тому +5

      You can have javascript update a css variable in your DOM whenever the user scrolls. The variable can be absolute pixels or a percentage of the total height.

    • @mamlzy
      @mamlzy 2 місяці тому

      is it AOS?

  • @santoshparker8681
    @santoshparker8681 11 місяців тому +49

    We all are blessed to have a teacher like you kevin .

  • @KOBE42__
    @KOBE42__ 11 місяців тому +75

    I’m beginning to love CSS so much more these days. I really appreciate your work in keeping us in the loop with the latest CSS functionalities. 👌

  • @m.arslansarwar9449
    @m.arslansarwar9449 11 місяців тому +29

    You've made me love CSS. You've no idea how much you're helping us with your content.

    • @albedesigns
      @albedesigns 7 місяців тому

      Absolutely! Kevin is my go to guy to understanding & learning the more advanced CSS.

  • @steelrazor
    @steelrazor 2 місяці тому +2

    Big kudos for mentioning "prefers-reduced-motion". It's such a small adjustment and an easy (essential) accessibility win in my eyes.

  • @MrWhiteav6
    @MrWhiteav6 9 місяців тому +5

    Kevin, I just wanted to say I've been watching your videos since I first started learning to code. I've moved on to Mobile App development with RN but I still build websites and need help with CSS and you are the GURU! You are also just a pleasure to learn from, I love your personality. Keep being you man! Thanks for all the help!

  • @rebell570
    @rebell570 10 місяців тому +10

    It's so cool to see more and more animation functionality becoming built-in to CSS. 👍🏻

  • @simonswiss
    @simonswiss 9 місяців тому +1

    I finally understood the difference between "cover" and "contain" thanks to this video!

  • @ellisj98
    @ellisj98 11 місяців тому +7

    I can’t believe this wasn’t in CSS before in hindsight.. it’s such a good feature. It’s also great to have it native in CSS as it can be easily disabled and enabled depending on the users motion settings.

  • @k16e
    @k16e 11 місяців тому +3

    The MDN of CSS on YT. How otherwise would I know of this sort of CSS-orcery but for Mr. Powell! Thanks, sir!

  • @erikvanzanen
    @erikvanzanen 9 місяців тому +2

    Ok, here I am using a Jscript to make an image move from left to right, from a certain point you scroll by on the page. This is great

    • @rafelgrau
      @rafelgrau 6 місяців тому

      Just that you will not be able to use it until at least one more year, that is if you put it in a commercial webpage

  • @alirahmani5601
    @alirahmani5601 11 місяців тому +9

    Really appreciate the longer content; keeping the quality even as far as shooting after editing, thanks for that :)

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

    Man, I swear on my head: in the first 30 seconds you summarized everything I have been looking for during the whole afternoon without finding decent and concise results. Now I came here two minutes ago and boom: problem solved. God bless you 🥲

  • @AnthonyGruba
    @AnthonyGruba 9 місяців тому +4

    This is so good, 5 minutes and I know exactly what I was looking for! I have to watch everything if just 5 minutes gave me that much

  • @christophedelobel3904
    @christophedelobel3904 11 місяців тому +1

    POWER of CSS, thanks for this demo.

  • @havefun5519
    @havefun5519 8 місяців тому +1

    Nice step-by-step tut.

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

    I love this dude because he actually explains things.

  • @udit.roshan
    @udit.roshan 10 місяців тому +1

    This makes EVERYTHING so easy now.

  • @leifn
    @leifn 11 місяців тому +4

    Thank you for this great introduction! Especially the part about the animation ranges would be a pain to figure out by oneself.

  • @randomforest_dev
    @randomforest_dev 11 місяців тому +2

    The future is bright for CSS! thanks for the video.

  • @mimoduocss
    @mimoduocss 11 місяців тому +6

    I was looking for viewport based animation timeline and it was view() the entire time! My brain is too mushy for MDN docs, thank you!

  • @ScottMackey
    @ScottMackey 11 місяців тому +3

    Just an amazing demo and explanation Kevin!! It's so nice to see the css is close to where is should be, handling all the basic animation and visuals that javascript had to do for css. Thanks again 🙂

  • @carbellsarfo
    @carbellsarfo 8 місяців тому +1

    This was so helpful Kevin.
    The part about animating the hero section, The animations are not working, when I copy the same code and put it anywhere else, they work perfectly.

  • @hw5622
    @hw5622 10 місяців тому +2

    Amazing! I was looking for how to do this with simple css. Thank you so much!

  • @adrianperdomollerena5884
    @adrianperdomollerena5884 6 місяців тому

    Dude you are awesome, Ive always loved CSS but you make it even cooler to be a front end dev, now I can talk about reducing javascript and interception observers at work so we can add more nice animations

  • @WUOTH
    @WUOTH 11 місяців тому +6

    Thank you and perfect timing, just what I need for an ongoing project :)

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

    thank you for this tutorial, amazing explanations
    loved that you mention the small -but big- considerations that we must have when creating a website so that it is accessible and navigable for everyone

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

      Safari and Firefox is a no go

  • @corykey9187
    @corykey9187 7 місяців тому

    Wow I discovered line-height: 1cap and this in one week. Game-changing times. Thanks!

  • @albedesigns
    @albedesigns 7 місяців тому

    This is perfect... exactly what I was hoping to be able to do without JS. CSS really is amazing!

  • @MikkoRantalainen
    @MikkoRantalainen 7 місяців тому

    Great video! All I can say about this feature is that it sure took a long time until a standard method to do this appeared. And it'll still take some time until it will be supported in all browsers.
    And if you want to see support for this in all browsers sooner, DO NOT USE POLYFILLS. When end users see that their browser cannot show fancy effects, they will switch to better browsers - which puts a lot of pressure to the developers of the browser that doesn't yet support these effects to implement them.
    Remember that you must always make the content usable without scroll effects because some users opt out of animations because of health issues so you should definitely not try to force effects on them.

  • @seeds.ffmpeg
    @seeds.ffmpeg 11 місяців тому +1

    I'm assuming scroll looks at the stacking context by default, it's neat you can pass it root.
    Thanks a lot for the video! You're the reason I've been keeping up with new CSS features.

  • @memcap
    @memcap 9 місяців тому +1

    Do you experience a horizontal scrollbar issue when scaling the background image up in "the hero area animation" section of this video? It seems that we need to set overflow to not be hidden in order to use the view() and scroll() CSS functions. This animation appears to distort layouts by increasing the width of the container of the background. (Chrome on Windows.)
    Great content. Thanks for your efforts.

  • @BrendansReasons
    @BrendansReasons 9 місяців тому +1

    learning so much so quickly here

  • @tomcat1112k
    @tomcat1112k 11 місяців тому +2

    thank you for the amazing thoroght video Kevin. Loved it.
    i'll use the banner animation in my university assignment. and I'll obviously give you credit for this in the reference.

  • @DrewDoesDevops
    @DrewDoesDevops 6 місяців тому

    Hello Kevin!
    Thank you for the video!
    I do have a suggestion:
    For newbie coders that are watching videos like these, can you take some time to explain some of these concepts to those of us not fully familiar with them yet? I get that some of the concepts may and will make sense the further along us newbies would get, however, that would be SUPER helpful.
    Keep up the AWESOME WORK!

  • @krutikabarad4241
    @krutikabarad4241 9 місяців тому +1

    thank you! needed this to get started on animation

  • @fksociety137
    @fksociety137 11 місяців тому +1

    Love it! Great post as usual Kevin!

  • @kevinfisher7032
    @kevinfisher7032 11 місяців тому +2

    Wow CSS is really kicking it these days! On a side note it’s interesting that the “forget-that-we-do-it-this-way- now” cycle is getting shorter and shorter. It’s seems like only yesterday we were struggling with intersection observers and now….oh, forget all that... we have a few lines of CSS now :-)

  • @brobinbraauw5523
    @brobinbraauw5523 10 місяців тому +1

    this video is so good, thanks a bunch! Going to start using it for my own projects right away!

  • @PacificDev
    @PacificDev 11 місяців тому +3

    too late to watch it at 1am, but I know I'll need this at some point so saved and liked 👍! I should pay you a coffee at some point for all tips and tricks I learned from you.
    Thanks for the amazing work Kevin 🙌

  • @avi12
    @avi12 11 місяців тому +2

    12:39 Rather than wrapping the CSS with a media query, it's easier to set the animation as intended and then add in a reduced motion media query that resets the animations on the page

  • @alphawebtips2950
    @alphawebtips2950 11 місяців тому +1

    Thank you, Kevin. I'm definitely trying these out.

  • @WarehouseDev
    @WarehouseDev 11 місяців тому +1

    Amazing what you can achieve with only CSS these days! Thanks, Kevin

  • @mohammadmahdialvansaz8001
    @mohammadmahdialvansaz8001 11 місяців тому +1

    this is just what i need right now. thank you

  • @fersahahmet9597
    @fersahahmet9597 11 місяців тому +1

    that was awsome, exciting to learn and again Kevin ,thank you

  • @gabuhl9509
    @gabuhl9509 5 місяців тому +1

    Thanks a lot Kevin!! , Top most valuable CSS information!! Thanks a lot for sharing!!

  • @dixxixio
    @dixxixio 11 місяців тому +1

    I really learn a lot from your channel. Thank you for your generous hardwork.

  • @sanjaux
    @sanjaux Місяць тому +2

    When you typed @animation I thought there was something new I didn’t know about lol

  • @mrnabby4178
    @mrnabby4178 11 місяців тому +1

    Learnt a lot of things. Thanks sir.

  • @jenstornell
    @jenstornell 6 місяців тому

    Best video I have seen this week. Congrats! 🎉

  • @MoussaSaiditv
    @MoussaSaiditv 10 місяців тому +1

    This is the most amazing tutorial I've ever watched. Amazing feature and the way you expalained it made it looks easy. Thank you ❤

  • @emmanuelmantilla1465
    @emmanuelmantilla1465 11 місяців тому

    You're great Kevin, who would thought now we can use CSS instead of intersecting everything

  • @___rituraj___
    @___rituraj___ 11 місяців тому +9

    Hey man, when it comes to CSS , you always rock and outshine others🚀🔥
    So why don't you curate a structured playlist by arranging all your made videos in such a way that a beginner can learn CSS from basics to advance and such playlist will also get a good reach.
    It will also help self taught programmers to learn from one place instead of hopping from one resource to another.

  • @LorenzoGasperoni
    @LorenzoGasperoni 7 місяців тому

    This video teach me so many new features. AWESOME! Thanks a lot!

  • @gholapyash
    @gholapyash 10 місяців тому +1

    Thanks sir, This is what I was looking for and this is gonna help me to make my portfolio much better without using that old library 🙏🏻

  • @ikamy
    @ikamy 10 місяців тому

    CSS is really evolving, I remember days we had to support IE 6 !

  • @Officialdave99
    @Officialdave99 6 місяців тому

    This is so wonderful kevin!

  • @skyfall2984
    @skyfall2984 7 місяців тому

    Thank you very much for what you teaching us here.. god bless you

  • @GarethField
    @GarethField 11 місяців тому

    I love that he leaves in the naming whoopsies and everything, it’s such an affirming, “*You* *can* code!”

  • @MusfikaAkter-ki6rk
    @MusfikaAkter-ki6rk 18 днів тому

    Wow kevin. I just love this . Thank you so much.

  • @GilGoldshlager
    @GilGoldshlager 11 місяців тому +1

    Great stuff, will use it for sure 👍👍👍

  • @yanikkendler
    @yanikkendler 11 місяців тому

    i really dont know if this works out for you better then I expected.. but even tho i am a programmer and like doing it i dont wanna watch a movie on the new css feature.. 30 minutes like this one is really the max for me. Id much prefer a showoff and tutorial split

  • @AlexanderBelov-y8o
    @AlexanderBelov-y8o 11 місяців тому

    What a time to be alive!

  • @rain-2263
    @rain-2263 11 місяців тому

    Kevin makes everything possible with CSS

  • @d3vwannabe
    @d3vwannabe 4 місяці тому +1

    I literally paused the video when I saw @animation and started googling... took me a few minutes and got distracted by some other stuff before coming back to the video. 😂😂 This is what I call 'premature optimization' lol

  • @AlThePal78
    @AlThePal78 6 місяців тому

    I like the grow from the middle I think it is all cool

  • @MikkoRantalainen
    @MikkoRantalainen 7 місяців тому

    I think the "avoid animations" @media query should be written to be NOT "reduce". This allows it to work correctly if the prefers-reduced-motion has other values but "no-preference" and "reduce" in the future. For example, if the preference allows opt-in for "fancy" animations in the future query for no-preference would disable animations for those users, too.

  • @0muhammedirfan
    @0muhammedirfan 10 місяців тому +2

    Thanks alot bro❤

  • @codewithsehran
    @codewithsehran 6 місяців тому

    That's the video what I'm searching for 1 days i sawed it before in somewhere!

  • @khuramchef6521
    @khuramchef6521 11 місяців тому +1

    You are making great points that are in-trending Thank you @Kevin

  • @combinio9533
    @combinio9533 11 місяців тому +1

    I truly appreciate Your css skills. Also, great teaching approach! Thanks for sharing :))

  • @АлександрЧеремных-ц9б
    @АлександрЧеремных-ц9б 11 місяців тому

    You are great person, keep doing, you make people happier

  • @kokapeli
    @kokapeli 10 місяців тому

    This is so awesome! Great video, thank you!

  • @JasonAul
    @JasonAul 10 місяців тому +4

    Is there a repo for this demo you showed us?

  • @maximilianoInfinito
    @maximilianoInfinito 10 місяців тому

    Thanks for sharing this! Kevin you are awesome!

  • @khaledfarghly6480
    @khaledfarghly6480 11 місяців тому

    Man You have just choked me by the fact that there is a something new in CSS called @animation and I didn't hear about it.

  • @marvell8862
    @marvell8862 4 місяці тому

    i love the way you laugh when you teach

  • @vanesanchez5578
    @vanesanchez5578 7 місяців тому

    jojo! Sufrí mucho para lograrlo 😅 porque agregué el efecto a un sitio ya hecho con Tailwind, pero se logró y aprendí! 💪 Gracias!

  • @josephm.6676
    @josephm.6676 11 місяців тому

    @Kevin great topic choice. 👏 🎉 Love to see this!

  • @AniketEdot
    @AniketEdot 6 місяців тому +2

    Hey Kevin! thanks for this video. It really was informative. However i noticed when i used the animation-timeline: view() property, it seems to work on all devices, EXCEPT safari and ios/ipad os. Is there anyway to fix this? or do i have to use js ? Thanks

  • @m12652
    @m12652 11 місяців тому

    Excellent as ever… wouldn’t it be cool if you could have the background image fixed vertically, then zoom in and fade on scroll, then start zooming into the next background image. Reverse the zoom for scrolling back up.

    • @KevinPowell
      @KevinPowell  11 місяців тому

      You probably could, actually! I didn't include it in here but I've been playing around with fixed things using position: sticky that worked really well. Not what you're describing, but I have a feeling it would be possible!

    • @m12652
      @m12652 11 місяців тому

      @@KevinPowell I look forward to more then thanks 👍

  • @explorster
    @explorster 13 днів тому

    This is so sick

  • @dmdesign
    @dmdesign 2 місяці тому

    Thanks for the in-depth tutorial! Is this supported with Firefox?

  • @MichaelJoseph83
    @MichaelJoseph83 11 місяців тому +1

    You're the goat Kevin

  • @paweliszka44
    @paweliszka44 11 місяців тому

    I was totally at that point "ohh @animations why I miss that exists LOL" you made my day :)

  • @EmmanuelB
    @EmmanuelB 11 місяців тому

    that's incredibly useful and powerful! Thanks!

  • @Thevetat_
    @Thevetat_ 10 місяців тому +1

    Not having the markup for this made it hard to follow along with, otherwise great video.

  • @Developer_Yusuf
    @Developer_Yusuf 11 місяців тому

    I am confusing. No words. Kevin is the best

  • @SrinivasReddy07
    @SrinivasReddy07 7 місяців тому

    CSS God @Kevin Powell.
    This is awesome, learned a lot. Thank you Kevin.

  • @vaughanprint
    @vaughanprint 10 місяців тому

    Very nice, but with any of this new CSS, it needs full browser support. It mostly works if you remove the prefers-reduced-motion media query.

  • @rodrigonoales
    @rodrigonoales 11 місяців тому +2

    Hi Kevin, great video... question, did you test this with native lazy load for the images ? I mean, does lazy load break the visual effect in any way, like jumps in animation or it still works smoothly as it loads the assets? Thank you !!

  • @portfedh
    @portfedh 10 місяців тому

    very cool! Thank you for teaching this!

  • @SiteMaestros
    @SiteMaestros 10 місяців тому

    you saved us legend

  • @avivperets7360
    @avivperets7360 7 місяців тому

    Damn i can watch your work for days haha,
    Thanks alot you gave me lots of inspiration from this video

  • @alexway303
    @alexway303 2 місяці тому

    Cool stuff. But it was difficult to understand or replicate horizontal scroll animation (16:04 - working with scrollbars that are not the main viewport), cause essential part of the code is behind the scenes.

  • @myfreedom42
    @myfreedom42 8 місяців тому +5

    that dont works on firefox... so unable to use it in production. Do you know when FF will add this CSS update ?

  • @iboy35
    @iboy35 10 місяців тому +10

    Why not say up front that it doesn't work with Safari and Firefox?

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

    Going to have to try some of these great tips. I'm curious what would happen if the entry and exit "cross over." For example if viewed on a phone held landscape with a large image that starts exiting before it fully enters. Assuming you'd need media queries to handle.

  • @alimansimov1929
    @alimansimov1929 28 днів тому

    The html markup and starting css style is needed on these examples. I have a few of your tutorials that i delayed because of that i could not follow along

  • @simple_classic
    @simple_classic 6 місяців тому

    AYO finally all those designer websites make sense!