This is a solution to the Bookmark landing page challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
- View the optimal layout for the site depending on their device's screen size 📱💻
- See hover states for all interactive elements on the page 🖱️
- Receive an error message when the newsletter form is submitted if:
- The input field is empty ❌
- The email address is not formatted correctly 📧
- Semantic HTML5 Markup 🏷️
- Tailwind CSS - For styling effortlessly 💅
- JavaScript - For interactive elements ✨
- Webpack - To bundle my assets 📦
- GSAP for animations 🎨💥
This project was so much fun! 🎉 I learned a lot about GSAP animations and how to make them interactive and responsive. Here are some cool snippets:
gsap.to(".disp-img", {
scrollTrigger: {
trigger: ".disp-img",
scrub: 0.1,
start: "top 240px",
},
yPercent: 33,
scale: 1.1,
});
I also got better at using Intersection Observer API for lazy loading sections and adding animations. Check this out:
const reveal = (entries, observer) => {
const [entry] = entries;
if (!entry.isIntersecting) return;
entry.target.classList.remove("section--hidden");
observer.unobserve(entry.target);
};
const revealSectionObserver = new IntersectionObserver(reveal, {
threshold: 0,
});
allRevealSection.forEach((sect) => revealSectionObserver.observe(sect));
I also implemented cool scroll-triggered animations like text trick using the Intersection Observer API and many more. 🌟
Moving forward, I want to focus on:
- Enhancing my animation skills using GSAP 🎥
- Improving my understanding of responsive design principles for - better layouts on all devices 📐
- Digging deeper into accessibility to make my websites more user-friendly ♿
- I am also yet to implement the animated carousel i wish to implement
Feel free to reach out if you have any questions or suggestions. I’d love to hear from you! 😊
- Email: [email protected]
- LinkedIn: Abdullah Saleeman
- GitHub: My GitHub Profile
- Twitter: @naijadevgamer
- Instagram: @naijadevgamer
I extend my gratitude to the Almighty ALLAH for guiding me through this project.
These resources were invaluable during my project:
- GSAP Documentation - This helped me understand how to use GSAP for animations. It's very detailed and easy to follow.
- Tailwind CSS Documentation - A great reference for using Tailwind CSS. It made styling so much easier!