
Eduard Bodak
@eduardbodak • 7,013 subscribers
Crafting Websites that Feel Good.
Shorts
Videos

007/100 Buttons. This button was way more complex than I first thought. I love the page transition on the Truus site that Dennis Snellenberg and Jordan Gilroy worked on. So I wanted to use that drawing SVG Path idea somehow and fit it into a button. In best case with a mask effect. The idea was to have an SVG path in the background that fills the button. At the same time, this path should also be used as a mask to reveal the differently colored text. The SVG should also be replaceable and work with other SVGs. For the path animation, I can use the DrawSVGPlugin from GSAP. Sounds like a solid plan. I built the button so far, and it worked great in Chrome and Firefox. In Safari, nope. I used an SVG mask that I referenced through CSS. But Safari can’t handle that properly when the path inside the mask is animated, so the animation lags. There was no simple solution for that. At least I didn’t find something. So I had to rebuild the button in another way. What I found was that the SVG mask animation works in Safari when the mask is placed on the desired element inside the SVG. That’s where foreignObject comes in, it allows you to use normal HTML elements inside an SVG. Using that, I rebuilt the hover text inside the SVG. I then referenced the mask on the foreignObject with a bit of JavaScript. And it worked! The button’s structure looks more complicated than I wanted it to be, but that happens quite often when you need to make something work across different browsers 😃 Crafting 100 Buttons with Osmo ⏳ Total time: 96h
Eduard Bodak66,648 görüntüleme • 25 gün önce

My Portfolio is live! At least the first Version. For now only in German. English will be added later. Didn't finished everything I wanted, but this will be a work in progress. Not everything is accessible. Didn't added all Figma Layouts yet. But it's enough to launch it now, so I can happily go to vacation 🙂 ⚙️ Tech Stack: Webflow (Webflow) GSAP (GSAP) (Core, CustomEase) Locomotive Scroll v5 (Locomotive®) Osmo (Osmo) (Mouse Follower) Custom CSS & JS The coolest part is that I documented everything inside my social media profiles. X: 150 Posts LinkedIn: 90 Posts Instagram: 23 Posts All Posts from just one Project. This Project was also a big learning playground for me. I don't really did much animation stuff before, didn't really used GSAP or Locomotive Scroll. Added so many modules where I actually didn't know how to build it first. And this shows how much you can learn by just building stuff. Especially stuff where you don't know at first how to build it. Fun fact: I call it always Portfolio, but there are no projects. It's because I don't have any yet which shows what Websites I want to make. Therefore this Site should speak for itself for now. Check it out live! 🔗Link in the comments.
Eduard Bodak41,535 görüntüleme • 1 yıl önce

Recap of the highlights from my Portfolio Site. I spent ~572 hours on this site. Made in Webflow with GSAP Sounds like way too much — but I used this project to learn Webflow, GSAP, animation basics, and to get a feeling for web animations. So it happened quite often that I had to rebuild modules after learning something new. Sometimes there were performance drops, which led me to rebuild even more. I used Swup JS for the first time to create a page transition. That took so much time. With this project, I also built a base boilerplate for future projects, so I can create new sites faster. And there were so many other things I tried for the first time. All in all, I learned a lot just by building. Check it out live! Link in the comments.
Eduard Bodak15,927 görüntüleme • 1 yıl önce

A closer look on the GSAP powered animations in Webflow. Just from my perspective. In short, it’s way more powerful than I first thought. The more I use it, the more I like it. Of course, there are some parts missing. But it's the first version. There's still a lot to come. For example, custom ease would already make a huge difference. Breakpoints. Maybe a way to add custom functions as sometimes you need to calculate stuff in JavaScript to get complex animations. The biggest part for me is that you can just build the animation inside a timeline. This makes it so much easier than writing it as code. You can fine tune it so much more. When there would be a way to export the tween as code to add some more functionality would be awesome. You can also add custom classes with the timeline, which can then be used in custom CSS to add more functionality. With a bit of custom code you can also use breakpoints for your animations. By using the custom event the animation can be used in custom code which can also be pretty powerful. Didn’t test it so much yet, but would be cool if you could just take the event and use for example the onComplete() from GSAP or other stuff. For example. let mm = gsap.matchMedia(); const module = Webflow.require("ix3"); module.ready().then(() => { mm.add( { isMobile: "(max-width: 992px)", }, (context) => { let { isMobile } = context.conditions; if (isMobile) { module.emit("Mobile Animation"); } } ); }); "Mobile Animation" is the name of your custom event. I hope that part will get more powerful. Something I miss on the timeline is that when you select more actions you can just drag all actions. It would be cool if you could move it frame by frame with the arrow keys, like in Jitter for example. Or just write a specific point like when you have one selected. For now I would further write the code myself, but I’m excited to see where it’s going. Maybe there will be a time where you could animate most parts inside Webflow 🙂 Can’t wait for the next GSAP update!
Eduard Bodak12,590 görüntüleme • 10 ay önce
Daha fazla içerik yok.