Back to blog
How to add animations to your website?

How to add animations to your website?

Hiring designer
7 min read

In the dynamic realm of web design, adding animations to the website has shifted from being a mere novelty to an expected element. It's a potent tool that captivates your audience, turning the entire user journey into an immersive experience.

At Arounda, our enthusiasm lies in employing motion graphics within graphic design and UI/UX to enhance user interactions with websites. Our experience shows the significant impact this element can have on elevating user engagement.

In this article, we will give you a short website animation tutorial highlighting key points.

CSS Animations Overview

CSS animations are a way to add motion and visual effects to elements on a web page using Cascading Style Sheets. They allow the gradual change of an element's style over a specified period, creating smooth transitions and animations.  

Adding animation to website increases interactivity and enhances the user experience without relying on JavaScript or other scripting languages. 

Here is a CSS code snippet demonstrating how to define the style and animation for elements on a website, including buttons.

.wrapper { padding: 50px; } .animated { border: 3px solid black; background-color: teal; margin-bottom: 30px; padding: 3px; text-align: center; color: white; display: block; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } /* * Animation for webkit */ @-webkit-keyframes bounce { 0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} 40% {-webkit-transform: translateY(-30px);} 60% {-webkit-transform: translateY(-15px);} } @keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 40% {transform: translateY(-30px);} 60% {transform: translateY(-15px);} } /* * Adding the animation to our element */ .bounce { -webkit-animation-name: bounce; animation-name: bounce; } /* * FadeIn animation */ @-webkit-keyframes fadeIn { 0% {opacity: 0;} 100% {opacity: 1;} } @keyframes fadeIn { 0% {opacity: 0;} 100% {opacity: 1;} } .fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; } /* * FadeOut animation */ @-webkit-keyframes fadeOut { 0% {opacity: 1;} 100% {opacity: 0;} } @keyframes fadeOut{ 0% {opacity: 1;} 100% {opacity: 0;} } .fadeOut { -webkit-animation-name: fadeOut; animation-name: fadeOut; } /* * Pulse animation */ @-webkit-keyframes pulse { 0% { -webkit-transform: scale(1); } 50% { -webkit-transform: scale(1.1); } 100% { -webkit-transform: scale(1); } } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } .pulse { -webkit-animation-name: pulse; animation-name: pulse; } /* * Flash animation */ @-webkit-keyframes flash { 0%, 50%, 100% {opacity: 1;} 25%, 75% {opacity: 0;} } @keyframes flash { 0%, 50%, 100% {opacity: 1;} 25%, 75% {opacity: 0;} } .flash { -webkit-animation-name: flash; animation-name: flash; } /* * Shake animation */ @-webkit-keyframes shake { 0%, 100% {-webkit-transform: translateX(0);} 10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-10px);} 20%, 40%, 60%, 80% {-webkit-transform: translateX(10px);} } @keyframes shake { 0%, 100% {transform: translateX(0);} 10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);} 20%, 40%, 60%, 80% {transform: translateX(10px);} } .shake { -webkit-animation-name: shake; animation-name: shake; } .pulsate { -webkit-animation-name: pulsate; animation-name: pulsate; } @-webkit-keyframes pulsate { 0% {-webkit-transform: scale(1, 1); opacity: 1;} 15% {-webkit-transform: scale(1, 1); opacity: 1;} 50% {-webkit-transform: scale(1.1, 1.1); opacity: 0.9;} 85% {-webkit-transform: scale(1, 1); opacity: 1;} 100% {-webkit-transform: scale(1, 1); opacity: 1;} }

Understanding the @keyframes Rule

As you’ve seen above, the @keyframes rule in CSS is crucial for defining animations. It specifies the animation code, allowing you to create smooth transitions and effects by gradually changing CSS styles from one state to another over a specified duration. So, how does the @keyframes rule work? 

Definition of Animation Steps 

Inside the @keyframes rule, you define a series of steps or keyframes representing different animation points. These keyframes indicate how the styles of an element should change at various points during the animation.

Percentages or Keywords 

You can specify when these styles change. With percentages, 0% marks the start, and 100% represents the end of the animation. Keywords "from" correspond to 0%, and "to" is the same as 100%.

Style Definitions

Within each keyframe, you provide CSS style definitions that describe how the element should look at that specific point in the animation. You can change any CSS property within a keyframe.

Binding to Selectors

To apply the animation to specific HTML elements, you use the animation-name property within a CSS selector, referencing the name of the keyframes you defined with @keyframes. It binds the animation to the selected elements.

Functional vs. Aesthetic Animations

Let's continue to explore how to make website animations by acquainting ourselves with their various types. Functional and aesthetic animations play distinct roles in web design, each contributing uniquely to the user experience and visual appeal. 

Deciding between these animation types relies on your website's objectives, branding, and desired user interaction. A harmonious blend of both animation styles can lead to a comprehensive and captivating web design. Now, let's delve into the distinctions between these animation categories.

Functional Animations

They are primarily used to improve the functionality and usability of a website. Functional animations enhance the user experience by providing visual cues and guidance.

These animations enhance the website's usability by guiding users and making processes more intuitive.

Loading Animations 

Loading animations signal users that content loads, reducing frustration during page load times.

Hover Effects 

These animations provide feedback when users interact with elements like buttons, making it clear that they are clickable.

Scroll Effects

Functional animations can include elements that move or appear as users scroll, improving the flow of content.

Alignment with Brand 

Functional animations should align with your brand's tone and style to maintain consistency and convey a cohesive user experience.

Aesthetic Animations

Aesthetic or decorative animations primarily aim to enhance a website's visual appeal. They focus on creating a visually pleasing and engaging design without improving functionality.

Aesthetic animations provide room for creative expression, allowing designers to experiment with various visual effects and unique design elements.

Animated Backgrounds

Trendy effects like particle backgrounds add a visually captivating element to the site.


Subtle animations, like smooth transitions between sections or elements, can make the site feel more dynamic and lively.

Decorative Elements 

Animations like animated characters or decorative objects add flair to the design but may not serve a functional purpose.


Aesthetic animations should strike a balance between visual appeal and not overwhelming the user. Excessive or unnecessary animations can detract from the user experience.

Optimizing Animation for Mobile Devices

When considering how to animate your website, don't forget the importance of mobile optimization. It's crucial for ensuring a seamless and responsive user experience on mobile devices. It involves ensuring that animations and transitions perform well and look good on smaller screens. Here are some key considerations and steps for testing and optimizing animations for mobile:

Simplicity and Performance 

Keep animations on mobile simple and lightweight. Avoid heavy, resource-intensive animations that can slow down the user experience on mobile devices, which may have limited processing power and capacity.

Responsive Design

Ensure that animations adapt to different screen sizes and orientations. Responsive design principles should apply to animations just as they do to other elements of your website.

Preview and Prototyping

Use design and prototyping tools like Figma, Adobe XD, or Sketch to create and preview animations before implementing them in code. It allows you to visualize how animations will appear on mobile screens.Testing on Real Devices

Test animations on real mobile devices to ensure they function as expected. Emulators and simulators can be helpful, but real devices provide the most accurate representation of the user experience.

Export and Testing Tools

Utilize tools like Lottie, Bodymovin, or Flinto to export animations and test them across various devices and platforms. These tools can help identify any compatibility issues and fine-tune animations for mobile.

Continuous Improvement 

Mobile optimization for animations is an ongoing process. Regularly monitor and evaluate your animations' performance and user experience on mobile devices. Make adjustments and optimizations based on user feedback and emerging best practices.

Tools for Enhancing Website Animation

When choosing web animation tools and libraries, consider factors like animation type, complexity, browser/device compatibility, ease of use, flexibility, and performance. 

Some top web animation tools and libraries include GreenSock (GSAP), Anime.js, Framer Motion, and ScrollTrigger. GSAP is a versatile JavaScript library, while Anime.js is lightweight and user-friendly. Framer Motion renders After Effects animations using React components, and ScrollTrigger creates scroll-based animations.

For inspiration and examples, explore websites using web animation effectively. Platforms like CodePen, Awwwards, and Dribbble offer a wealth of examples and ideas. CodePen allows you to create website animations and share them, while Awwwards showcases award-winning designs. Dribbble lets you discover web designers and animators for inspiration.


Apart from animation being one of the graphic trends of 2023, it has become a must-have for quality user interaction. Motion graphics on websites can address various business needs. Depending on your requirements, you can use it to enhance the user experience and improve website functionality or aesthetics, which helps establish stronger associations with your product.

At Arounda, we specialize in adding animations to website as part of our projects. Recognizing its integral role in modern design, we constantly tailor our approach to animation to meet the specific needs of our clients.

Adding animation to website has never been easier than it is now. All you need is to equip yourself with a specialist. Contact us to begin working on your website.


Get for freeLearn more

Hire a caring and experienced developer for your project.

Contact Us

Have a project in your mind?
Let’s communicate

Get estimation
Table of contents
  1. Text Link
7 min read
Hire a caring and experienced developer for your project.
Contact Us

FAQ on UI/UX design services

Can you add animations to a website?

Of course, you can do this. Using various tools and technologies like CSS, JavaScript, and front-end frameworks like React or Angular. These can help create visually engaging and interactive user experiences

How do you add motion effects to a website?

Enhancing the user experience and creating visually engaging designs on a website can be achieved through various methods. These include employing animations through CSS keyframes to animate page elements like backgrounds, text, and icons. CSS transitions define how elements gradually change states. Motion design toolkits like Anime.js, Ong-go, or Motion.css offer pre-built motion elements and transitions. For more dynamic effects, integrating videos and GIFs adds visual interest. Additionally, micro-interactions can enhance user interaction and provide subtle feedback through small, well-placed animations.

How to Add Animations to HTML?

HTML itself doesn't support animations. Regarding how to add animations HTML content, you can use CSS for straightforward animations and transitions and JavaScript for more advanced and interactive animations. CSS animations are defined using @keyframes, and JavaScript libraries like GreenSock (GSAP) offer robust animation capabilities. SVG can be embedded within HTML elements for vector-based animations, allowing you to animate vector graphics seamlessly.

Subscribe to our blog

Sign up to our newsletter to get weekly updates on the newest design stories, case studies and tips.

Your email's all set! Thanks!
Oops! Something went wrong. Please try again